service

package
v0.0.0-...-99cece9 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 22, 2020 License: MIT Imports: 5 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrExpiredToken = errors.New("token is expired")
)

Functions

This section is empty.

Types

type CommonService

type CommonService struct {
}

func NewCommonService

func NewCommonService() *CommonService

func (*CommonService) Admin

func (s *CommonService) Admin(username string) string

func (*CommonService) HealthCheck

func (s *CommonService) HealthCheck() bool

HealthCheck implement Service method 用于检查服务的健康状态,这里仅仅返回true

func (*CommonService) Index

func (s *CommonService) Index() string

func (*CommonService) Sample

func (s *CommonService) Sample(username string) string

type DefaultTokenService

type DefaultTokenService struct {
	// contains filtered or unexported fields
}

func (*DefaultTokenService) GetOAuth2DetailsByAccessToken

func (tokenService *DefaultTokenService) GetOAuth2DetailsByAccessToken(tokenValue string) (*model.OAuth2Details, error)

type JwtTokenEnhancer

type JwtTokenEnhancer struct {
	// contains filtered or unexported fields
}

func (*JwtTokenEnhancer) Enhance

func (enhancer *JwtTokenEnhancer) Enhance(oauth2Token *model.OAuth2Token, oauth2Details *model.OAuth2Details) (*model.OAuth2Token, error)

func (*JwtTokenEnhancer) Extract

func (enhancer *JwtTokenEnhancer) Extract(tokenValue string) (*model.OAuth2Token, *model.OAuth2Details, error)

type JwtTokenStore

type JwtTokenStore struct {
	// contains filtered or unexported fields
}

func (*JwtTokenStore) GetAccessToken

func (tokenStore *JwtTokenStore) GetAccessToken(oauth2Details *model.OAuth2Details) (*model.OAuth2Token, error)

根据客户端信息和用户信息获取访问令牌

func (*JwtTokenStore) ReadAccessToken

func (tokenStore *JwtTokenStore) ReadAccessToken(tokenValue string) (*model.OAuth2Token, error)

func (*JwtTokenStore) ReadOAuth2Details

func (tokenStore *JwtTokenStore) ReadOAuth2Details(tokenValue string) (*model.OAuth2Details, error)

根据令牌值获取令牌对应的客户端和用户信息

func (*JwtTokenStore) ReadOAuth2DetailsForRefreshToken

func (tokenStore *JwtTokenStore) ReadOAuth2DetailsForRefreshToken(tokenValue string) (*model.OAuth2Details, error)

根据令牌值获取刷新令牌对应的客户端和用户信息

func (*JwtTokenStore) ReadRefreshToken

func (tokenStore *JwtTokenStore) ReadRefreshToken(tokenValue string) (*model.OAuth2Token, error)

根据令牌值获取刷新令牌

func (*JwtTokenStore) RemoveAccessToken

func (tokenStore *JwtTokenStore) RemoveAccessToken(tokenValue string) error

移除存储的访问令牌

func (*JwtTokenStore) RemoveRefreshToken

func (tokenStore *JwtTokenStore) RemoveRefreshToken(oauth2Token string) error

移除存储的刷新令牌

func (*JwtTokenStore) StoreAccessToken

func (tokenStore *JwtTokenStore) StoreAccessToken(oauth2Token *model.OAuth2Token, oauth2Details *model.OAuth2Details) error

func (*JwtTokenStore) StoreRefreshToken

func (tokenStore *JwtTokenStore) StoreRefreshToken(oauth2Token *model.OAuth2Token, oauth2Details *model.OAuth2Details) error

存储刷新令牌

type OAuth2TokenCustomClaims

type OAuth2TokenCustomClaims struct {
	UserDetails   model.UserDetails
	ClientDetails model.ClientDetails
	RefreshToken  model.OAuth2Token
	jwt.StandardClaims
}

type ResourceServerTokenService

type ResourceServerTokenService interface {
	// 根据访问令牌获取对应的用户信息和客户端信息
	GetOAuth2DetailsByAccessToken(tokenValue string) (*model.OAuth2Details, error)
}

func NewTokenService

func NewTokenService(tokenStore TokenStore, tokenEnhancer TokenEnhancer) ResourceServerTokenService

type Service

type Service interface {
	Index() string

	Sample(username string) string

	Admin(username string) string

	// HealthCheck check service health status
	HealthCheck() bool
}

type TokenEnhancer

type TokenEnhancer interface {
	// 组装 Token 信息
	Enhance(oauth2Token *model.OAuth2Token, oauth2Details *model.OAuth2Details) (*model.OAuth2Token, error)
	// 从 Token 中还原信息
	Extract(tokenValue string) (*model.OAuth2Token, *model.OAuth2Details, error)
}

func NewJwtTokenEnhancer

func NewJwtTokenEnhancer(secretKey string) TokenEnhancer

type TokenStore

type TokenStore interface {

	// 存储访问令牌
	StoreAccessToken(oauth2Token *model.OAuth2Token, oauth2Details *model.OAuth2Details) error
	// 根据令牌值获取访问令牌结构体
	ReadAccessToken(tokenValue string) (*model.OAuth2Token, error)
	// 根据令牌值获取令牌对应的客户端和用户信息
	ReadOAuth2Details(tokenValue string) (*model.OAuth2Details, error)
	// 根据客户端信息和用户信息获取访问令牌
	GetAccessToken(oauth2Details *model.OAuth2Details) (*model.OAuth2Token, error)
	// 移除存储的访问令牌
	RemoveAccessToken(tokenValue string) error
	// 存储刷新令牌
	StoreRefreshToken(oauth2Token *model.OAuth2Token, oauth2Details *model.OAuth2Details) error
	// 移除存储的刷新令牌
	RemoveRefreshToken(oauth2Token string) error
	// 根据令牌值获取刷新令牌
	ReadRefreshToken(tokenValue string) (*model.OAuth2Token, error)
	// 根据令牌值获取刷新令牌对应的客户端和用户信息
	ReadOAuth2DetailsForRefreshToken(tokenValue string) (*model.OAuth2Details, error)
}

func NewJwtTokenStore

func NewJwtTokenStore(jwtTokenEnhancer *JwtTokenEnhancer) TokenStore

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL