Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AccessGenerate ¶
type AccessGenerate interface { // 访问令牌、更新令牌 Token(data *GenerateBasic, isGenRefresh bool) (access, refresh string, err error) }
AccessGenerate 访问令牌生成接口
type AuthorizeGenerate ¶
type AuthorizeGenerate interface { // 授权令牌 Token(data *GenerateBasic) (code string, err error) }
AuthorizeGenerate 授权令牌生成接口
type ClientInfo ¶
type ClientInfo interface { // 客户端ID GetID() string // 客户端秘钥 GetSecret() string // 客户端域名URL GetDomain() string // 扩展数据 GetExtraData() interface{} }
ClientInfo 客户端信息模型接口
type ClientStore ¶
type ClientStore interface { // GetByID 根据ID获取客户端信息 GetByID(id string) (ClientInfo, error) }
ClientStore 客户端信息存储接口
type GenerateBasic ¶
type GenerateBasic struct { Client ClientInfo // 客户端信息 UserID string // 用户标识 CreateAt time.Time // 创建时间 }
GenerateBasic 提供生成令牌的基础数据
type GrantType ¶
type GrantType string
GrantType 定义授权模式
const ( // AuthorizationCodeCredentials 授权码模式 AuthorizationCodeCredentials GrantType = "authorization_code" // PasswordCredentials 密码模式 PasswordCredentials GrantType = "password" // ClientCredentials 客户端模式 ClientCredentials GrantType = "clientcredentials" // RefreshCredentials 更新令牌模式 RefreshCredentials GrantType = "refreshtoken" )
type Manager ¶
type Manager interface { // GetClient 获取客户端信息 // clientID 客户端标识 GetClient(clientID string) (cli ClientInfo, err error) // GenerateAuthToken 生成授权令牌 // rt 授权类型 // tgr 生成令牌的请求参数 GenerateAuthToken(rt ResponseType, tgr *TokenGenerateRequest) (authToken TokenInfo, err error) // GenerateAccessToken 生成访问令牌、更新令牌 // rt 授权模式 // tgr 生成令牌的请求参数 GenerateAccessToken(rt GrantType, tgr *TokenGenerateRequest) (accessToken TokenInfo, err error) // RefreshAccessToken 更新访问令牌 // tgr 生成令牌的请求参数 RefreshAccessToken(tgr *TokenGenerateRequest) (accessToken TokenInfo, err error) // RemoveAccessToken 删除访问令牌 // access 访问令牌 RemoveAccessToken(access string) (err error) // RemoveRefreshToken 删除更新令牌 // refresh 更新令牌 RemoveRefreshToken(refresh string) (err error) // LoadAccessToken 加载访问令牌信息 // access 访问令牌 LoadAccessToken(access string) (ti TokenInfo, err error) // LoadRefreshToken 加载更新令牌信息 // refresh 更新令牌 LoadRefreshToken(refresh string) (ti TokenInfo, err error) }
Manager OAuth2授权管理接口
type ResponseType ¶
type ResponseType string
ResponseType 定义授权类型
const ( // Code 授权码类型 Code ResponseType = "code" // Token 令牌类型 Token ResponseType = "token" )
func (ResponseType) String ¶
func (rt ResponseType) String() string
type TokenGenerateRequest ¶
type TokenGenerateRequest struct { ClientID string // 客户端标识 ClientSecret string // 客户端密钥 UserID string // 用户标识 RedirectURI string // 重定向URI Scope string // 授权范围 Code string // 授权码(授权码模式使用) Refresh string // 刷新令牌 IsGenerateRefresh bool // 是否生成更新令牌 }
TokenGenerateRequest 提供生成令牌的请求参数
type TokenInfo ¶
type TokenInfo interface { // 客户端ID GetClientID() string // 设置客户端ID SetClientID(string) // 用户ID GetUserID() string // 设置用户ID SetUserID(string) // 重定向URI GetRedirectURI() string // 设置重定向URI SetRedirectURI(string) // 权限范围 GetScope() string // 设置权限范围 SetScope(string) // 令牌授权类型 GetAuthType() string // 设置令牌授权类型 SetAuthType(string) // 访问令牌(或授权令牌) GetAccess() string // 设置访问令牌(或授权令牌) SetAccess(string) // 访问令牌(或授权令牌)创建时间 GetAccessCreateAt() time.Time // 设置访问令牌(或授权令牌)创建时间 SetAccessCreateAt(time.Time) // 访问令牌(或授权令牌)有效期 GetAccessExpiresIn() time.Duration // 设置访问令牌(或授权令牌)有效期 SetAccessExpiresIn(time.Duration) // 更新令牌 GetRefresh() string // 设置更新令牌 SetRefresh(string) // 更新令牌创建时间 GetRefreshCreateAt() time.Time // 设置更新令牌创建时间 SetRefreshCreateAt(time.Time) // 更新令牌有效期 GetRefreshExpiresIn() time.Duration // 设置更新令牌有效期 SetRefreshExpiresIn(time.Duration) }
TokenInfo 令牌信息模型接口
type TokenStore ¶
type TokenStore interface { // Create 创建并存储新的令牌信息 Create(info TokenInfo) error // RemoveByAccess 使用访问令牌删除令牌信息 RemoveByAccess(access string) error // RemoveByRefresh 使用更新令牌删除令牌信息 RemoveByRefresh(refresh string) error // 使用访问令牌获取令牌信息数据 GetByAccess(access string) (TokenInfo, error) // 根据更新令牌获取令牌信息数据 GetByRefresh(refresh string) (TokenInfo, error) }
TokenStore 令牌信息存储接口
Click to show internal directories.
Click to hide internal directories.