Documentation
¶
Index ¶
- Constants
- Variables
- type Manager
- func (m *Manager) CheckLogin(tokenValue string) error
- func (m *Manager) Close()
- func (m *Manager) DeleteSession(loginID string) error
- func (m *Manager) Disable(loginID string, duration time.Duration) error
- func (m *Manager) GenerateNonce() (string, error)
- func (m *Manager) GetConfig() *config.Config
- func (m *Manager) GetDisableTime(loginID string) (int64, error)
- func (m *Manager) GetEventManager() *listener.Manager
- func (m *Manager) GetLoginID(tokenValue string) (string, error)
- func (m *Manager) GetLoginIDNotCheck(tokenValue string) (string, error)
- func (m *Manager) GetOAuth2Server() *oauth2.OAuth2Server
- func (m *Manager) GetPermissions(loginID string) ([]string, error)
- func (m *Manager) GetRoles(loginID string) ([]string, error)
- func (m *Manager) GetSession(loginID string) (*session.Session, error)
- func (m *Manager) GetSessionByToken(tokenValue string) (*session.Session, error)
- func (m *Manager) GetSessionCountByLoginID(loginID string) (int, error)
- func (m *Manager) GetStorage() adapter.Storage
- func (m *Manager) GetTokenInfo(tokenValue string) (*TokenInfo, error)
- func (m *Manager) GetTokenTag(tokenValue string) (string, error)
- func (m *Manager) GetTokenValue(loginID string, device ...string) (string, error)
- func (m *Manager) GetTokenValueListByLoginID(loginID string) ([]string, error)
- func (m *Manager) HasPermission(loginID string, permission string) bool
- func (m *Manager) HasPermissionsAnd(loginID string, permissions []string) bool
- func (m *Manager) HasPermissionsOr(loginID string, permissions []string) bool
- func (m *Manager) HasRole(loginID string, role string) bool
- func (m *Manager) HasRolesAnd(loginID string, roles []string) bool
- func (m *Manager) HasRolesOr(loginID string, roles []string) bool
- func (m *Manager) IsDisable(loginID string) bool
- func (m *Manager) IsLogin(tokenValue string) bool
- func (m *Manager) Kickout(loginID string, device ...string) error
- func (m *Manager) Login(loginID string, device ...string) (string, error)
- func (m *Manager) LoginByToken(loginID string, tokenValue string, device ...string) error
- func (m *Manager) LoginWithRefreshToken(loginID, device string) (*security.RefreshTokenInfo, error)
- func (m *Manager) Logout(loginID string, device ...string) error
- func (m *Manager) LogoutByToken(tokenValue string) error
- func (m *Manager) RefreshAccessToken(refreshToken string) (*security.RefreshTokenInfo, error)
- func (m *Manager) Register(event listener.Event, listener listener.Listener) string
- func (m *Manager) RegisterFunc(event listener.Event, fn func(*listener.EventData))
- func (m *Manager) RegisterWithConfig(event listener.Event, listener listener.Listener, ...) string
- func (m *Manager) RevokeRefreshToken(refreshToken string) error
- func (m *Manager) SetPermissions(loginID string, permissions []string) error
- func (m *Manager) SetRoles(loginID string, roles []string) error
- func (m *Manager) SetTokenTag(tokenValue, tag string) error
- func (m *Manager) TriggerEvent(data *listener.EventData)
- func (m *Manager) Unregister(id string) bool
- func (m *Manager) Untie(loginID string) error
- func (m *Manager) VerifyNonce(nonce string) bool
- func (m *Manager) WaitEvents()
- type TokenInfo
Constants ¶
const ( DefaultDevice = "default" DefaultPrefix = "satoken" DisableValue = "1" DefaultNonceTTL = 5 * time.Minute // Key prefixes | 键前缀 TokenKeyPrefix = "token:" AccountKeyPrefix = "account:" DisableKeyPrefix = "disable:" // Session keys | Session键 SessionKeyLoginID = "loginId" SessionKeyDevice = "device" SessionKeyLoginTime = "loginTime" SessionKeyPermissions = "permissions" SessionKeyRoles = "roles" // Wildcard for permissions | 权限通配符 PermissionWildcard = "*" PermissionSeparator = ":" )
Constants for storage keys and default values | 存储键和默认值常量
Variables ¶
var ( ErrAccountDisabled = fmt.Errorf("account is disabled") ErrNotLogin = fmt.Errorf("not login") ErrTokenNotFound = fmt.Errorf("token not found") ErrInvalidTokenData = fmt.Errorf("invalid token data") )
Error variables | 错误变量
Functions ¶
This section is empty.
Types ¶
type Manager ¶
type Manager struct {
// contains filtered or unexported fields
}
Manager Authentication manager | 认证管理器
func NewManager ¶
NewManager Creates a new manager | 创建管理器
func (*Manager) CheckLogin ¶
CheckLogin Checks login status (throws error if not logged in) | 检查登录(未登录抛出错误)
func (*Manager) Close ¶
func (m *Manager) Close()
Close closes the Manager and releases resources | 关闭Manager并释放资源
func (*Manager) DeleteSession ¶
DeleteSession Deletes session | 删除Session
func (*Manager) GenerateNonce ¶
GenerateNonce Generates a one-time nonce | 生成一次性随机数
func (*Manager) GetDisableTime ¶
GetDisableTime Gets remaining disable time in seconds | 获取账号剩余封禁时间(秒)
func (*Manager) GetEventManager ¶
GetEventManager gets the event manager | 获取事件管理器
func (*Manager) GetLoginID ¶
GetLoginID Gets login ID from token | 根据Token获取登录ID
func (*Manager) GetLoginIDNotCheck ¶
GetLoginIDNotCheck Gets login ID without checking token validity | 获取登录ID(不检查Token是否有效)
func (*Manager) GetOAuth2Server ¶
func (m *Manager) GetOAuth2Server() *oauth2.OAuth2Server
GetOAuth2Server Gets OAuth2 server instance | 获取OAuth2服务器实例
func (*Manager) GetPermissions ¶
GetPermissions Gets permission list | 获取权限列表
func (*Manager) GetSession ¶
GetSession Gets session by login ID | 获取Session
func (*Manager) GetSessionByToken ¶
GetSessionByToken Gets session by token | 根据Token获取Session
func (*Manager) GetSessionCountByLoginID ¶
GetSessionCountByLoginID Gets session count for specified account | 获取指定账号的Session数量
func (*Manager) GetStorage ¶
GetStorage Gets storage | 获取存储
func (*Manager) GetTokenInfo ¶
GetTokenInfo Gets token information | 获取Token信息
func (*Manager) GetTokenTag ¶
GetTokenTag Gets token tag | 获取Token标签
func (*Manager) GetTokenValue ¶
GetTokenValue Gets token by login ID | 根据登录ID获取Token
func (*Manager) GetTokenValueListByLoginID ¶
GetTokenValueListByLoginID Gets all tokens for specified account | 获取指定账号的所有Token
func (*Manager) HasPermission ¶
HasPermission 检查是否有指定权限
func (*Manager) HasPermissionsAnd ¶
HasPermissionsAnd 检查是否拥有所有权限(AND)
func (*Manager) HasPermissionsOr ¶
HasPermissionsOr 检查是否拥有任一权限(OR)
func (*Manager) HasRolesAnd ¶
HasRolesAnd 检查是否拥有所有角色(AND)
func (*Manager) HasRolesOr ¶
HasRolesOr 检查是否拥有任一角色(OR)
func (*Manager) LoginByToken ¶
LoginByToken Login with specified token (for seamless token refresh) | 使用指定Token登录(用于token无感刷新)
func (*Manager) LoginWithRefreshToken ¶
func (m *Manager) LoginWithRefreshToken(loginID, device string) (*security.RefreshTokenInfo, error)
LoginWithRefreshToken Logs in with refresh token | 使用刷新令牌登录
func (*Manager) LogoutByToken ¶
LogoutByToken Logout by token | 根据Token登出
func (*Manager) RefreshAccessToken ¶
func (m *Manager) RefreshAccessToken(refreshToken string) (*security.RefreshTokenInfo, error)
RefreshAccessToken Refreshes access token | 刷新访问令牌
func (*Manager) RegisterFunc ¶
RegisterFunc registers a function as an event listener | 注册函数作为事件监听器
func (*Manager) RegisterWithConfig ¶
func (m *Manager) RegisterWithConfig(event listener.Event, listener listener.Listener, config listener.ListenerConfig) string
RegisterWithConfig registers an event listener with config | 注册带配置的事件监听器
func (*Manager) RevokeRefreshToken ¶
RevokeRefreshToken Revokes refresh token | 撤销刷新令牌
func (*Manager) SetPermissions ¶
SetPermissions Sets permissions for user | 设置权限
func (*Manager) SetTokenTag ¶
SetTokenTag Sets token tag | 设置Token标签
func (*Manager) TriggerEvent ¶
TriggerEvent manually triggers an event | 手动触发事件
func (*Manager) Unregister ¶
Unregister removes an event listener by ID | 根据ID移除事件监听器
func (*Manager) VerifyNonce ¶
VerifyNonce Verifies a nonce | 验证随机数
func (*Manager) WaitEvents ¶
func (m *Manager) WaitEvents()
WaitEvents waits for all async event listeners to complete | 等待所有异步事件监听器完成