Documentation ¶
Index ¶
- func GetBearerToken(ctx context.Context) (string, error)
- func GetCookieToken(ctx context.Context) (string, error)
- func GetQueryToken(ctx context.Context) (string, error)
- func KeyFuncCallback(c context.Context, token *jwt.Token, method jwt.SigningMethod, ...) (interface{}, error)
- func NewRefreshToken(_ati string) string
- func NewTokenID(_ati string) string
- func NewWithClaims(c context.Context, claims *UserClaims, method jwt.SigningMethod, ...) (string, error)
- type Auther
- func (a *Auther) DestroyToken(c context.Context, user auth.UserInfo) error
- func (a *Auther) GenerateToken(c context.Context, user auth.UserInfo) (auth.TokenInfo, auth.UserInfo, error)
- func (a *Auther) GetUserInfo(c context.Context, tkn string) (auth.UserInfo, error)
- func (a *Auther) RefreshToken(c context.Context, tkn string, chk func(auth.UserInfo, int) error) (auth.TokenInfo, auth.UserInfo, error)
- func (a *Auther) Release() error
- func (a *Auther) UpdateAuther(c context.Context) error
- type Option
- func SetExpired(expired int) Option
- func SetFixClaimsFunc(f func(context.Context, *UserClaims) (int, error)) Option
- func SetKeyFunc(...) Option
- func SetNewClaims(...) Option
- func SetParseClaimsFunc(f func(context.Context, string) (*UserClaims, error)) Option
- func SetParseRefreshFunc(f func(context.Context, string) (*UserClaims, error)) Option
- func SetRefresh(refresh int) Option
- func SetSigningMethod(method jwt.SigningMethod) Option
- func SetSigningSecret(secret string) Option
- func SetTokenFunc(f func(context.Context) (string, error)) Option
- func SetUpdateFunc(f func(context.Context) error) Option
- type TokenInfo
- type UserClaims
- func (u *UserClaims) GetAccount() string
- func (u *UserClaims) GetAccount1() string
- func (u *UserClaims) GetAccount2() string
- func (u *UserClaims) GetAgent() string
- func (u *UserClaims) GetAudience() string
- func (u *UserClaims) GetDomain() string
- func (u *UserClaims) GetIssuer() string
- func (u *UserClaims) GetOrgAdmin() string
- func (u *UserClaims) GetOrgCode() string
- func (u *UserClaims) GetOrgUsrID() string
- func (u *UserClaims) GetScope() string
- func (u *UserClaims) GetTokenID() string
- func (u *UserClaims) GetTokenPID() string
- func (u *UserClaims) GetUserID() string
- func (u *UserClaims) GetUserName() string
- func (u *UserClaims) GetUserRoles() []string
- func (u *UserClaims) GetUserSvcRoles(svc string) []string
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func GetBearerToken ¶
GetBearerToken 获取用户令牌
func GetCookieToken ¶
GetCookieToken 获取用户令牌
func KeyFuncCallback ¶
func KeyFuncCallback(c context.Context, token *jwt.Token, method jwt.SigningMethod, secret interface{}) (interface{}, error)
KeyFuncCallback 解析方法使用此回调函数来提供验证密钥。 该函数接收解析后的内容,但未验证的令牌。这使您可以在令牌的标头(例如 kid),以标识要使用的密钥。
func NewWithClaims ¶
func NewWithClaims(c context.Context, claims *UserClaims, method jwt.SigningMethod, secret interface{}) (string, error)
NewWithClaims new claims jwt.NewWithClaims
Types ¶
type Auther ¶
type Auther struct {
// contains filtered or unexported fields
}
Auther jwt认证
func (*Auther) DestroyToken ¶
DestroyToken 销毁令牌
func (*Auther) GenerateToken ¶
func (a *Auther) GenerateToken(c context.Context, user auth.UserInfo) (auth.TokenInfo, auth.UserInfo, error)
GenerateToken 生成令牌
func (*Auther) GetUserInfo ¶
GetUserInfo 获取用户
type Option ¶
type Option func(*options)
Option 定义参数项
func SetFixClaimsFunc ¶
SetFixClaimsFunc 设定修复载体的方法
func SetKeyFunc ¶
func SetKeyFunc(f func(context.Context, *jwt.Token, jwt.SigningMethod, interface{}) (interface{}, error)) Option
SetKeyFunc 设定签名key
func SetNewClaims ¶
func SetNewClaims(f func(context.Context, *UserClaims, jwt.SigningMethod, interface{}) (string, error)) Option
SetNewClaims 设定声明内容
func SetParseClaimsFunc ¶
SetParseClaimsFunc 设定解析令牌方法
func SetParseRefreshFunc ¶
SetParseRefreshFunc 设定解析刷新令牌方法
func SetSigningMethod ¶
func SetSigningMethod(method jwt.SigningMethod) Option
SetSigningMethod 设定签名方式
func SetTokenFunc ¶
SetTokenFunc 设定令牌Token
type TokenInfo ¶
type TokenInfo struct { // TokenType string `json:"token_type,omitempty"` // 令牌类型 TokenID string `json:"token_id,omitempty"` AccessToken string `json:"access_token,omitempty"` // 访问令牌 ExpiresAt int64 `json:"expires_at,omitempty"` // 访问令牌过期时间 RefreshToken string `json:"refresh_token,omitempty"` // 刷新令牌 RefreshExpAt int64 `json:"refresh_expires,omitempty"` // 刷新令牌过期时间 }
TokenInfo 令牌信息
func (*TokenInfo) EncodeToJSON ¶
EncodeToJSON to json
func (*TokenInfo) GetAccessToken ¶
GetAccessToken access token
func (*TokenInfo) GetRefreshExpAt ¶
GetRefreshExpAt refresh expires
func (*TokenInfo) GetRefreshToken ¶
GetRefreshToken refresh token
type UserClaims ¶
type UserClaims struct { jwt.StandardClaims // TokenID -> Id // UserID -> Subject -> sub, GetOrgCode为空,提供用户平台ID, 否则提供用户租户ID Account string `json:"ati,omitempty"` // 登陆ID, 本身不具备任何意义,只是标记登陆方式, 使用token反向加密 TokenPID string `json:"pti,omitempty"` // 子母令牌 Account1 string `json:"at1,omitempty"` // 用户登录信息 Account2 string `json:"at2,omitempty"` // 用户自定义信息 UserName string `json:"nam,omitempty"` // 用户名 UserRoles []string `json:"ros,omitempty"` // 角色ID, 该角色是平台角色, 也可以理解为平台给机构的角色 OrgCode string `json:"ogc,omitempty"` // 组织/租户code OrgAdmin string `json:"oga,omitempty"` // admin'为用户管理员, GetOrgCode为空,提供 OrgUsrID string `json:"ogu,omitempty"` // 用户自定义ID Agent string `json:"agt,omitempty"` // 登录使用的第三方应用 Scope string `json:"sce,omitempty"` // 权限作用域 Domain string `json:"dom,omitempty"` // 业务域,主要用户当前用户跨应用的业务关联,暂时不使用 }
UserClaims 用户信息声明
func (*UserClaims) GetUserSvcRoles ¶
func (u *UserClaims) GetUserSvcRoles(svc string) []string
GetUserSvcRoles xxx
Click to show internal directories.
Click to hide internal directories.