Documentation ¶
Index ¶
Constants ¶
View Source
const ( AuthMethodNameAnonymous = "anonymous" AuthMethodNameUserPassword = "userPassword" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthForUserPolicy ¶
type AuthForUserPolicy struct { UserID uint64 VerifiedMethods []*VerifiedMethodWithTokenData SupportedMethods []string }
type Authenticator ¶
type AuthingData ¶
type AuthingData struct { AuthForUserPolicy UniqueID uint64 StartAt time.Time }
type AuthingDataStorage ¶
type LoginRequest ¶
type LoginRequest struct { ContinueID uint64 Authenticators []Authenticator TokenLiveDuration time.Duration }
type LoginResponse ¶
type LoginResponse struct { Status LoginStatus RequiredOrMethods []string UserID uint64 Token string ContinueID uint64 }
type LoginStatus ¶
type LoginStatus int
const ( LoginStatusSuccess LoginStatus = iota LoginStatusNeedMoreAuthenticator )
type Policy ¶
type Policy interface {
RequireAuthMethod(ctx context.Context, d *AuthForUserPolicy) (requiredOrMethods []string, err error)
}
type StatusController ¶
type UserCenter ¶
type UserCenter interface { Login(ctx context.Context, request *LoginRequest) (resp *LoginResponse, err error) Logout(ctx context.Context, token string) (err error) CheckToken(ctx context.Context, token string, renewToken bool) (newToken string, uid uint64, tokenDataList map[string][]byte, err error) }
Click to show internal directories.
Click to hide internal directories.