Documentation
¶
Index ¶
Constants ¶
View Source
const ( DeleteFieldUser = 0x0001 DeleteFieldGoogle2FA = 0x0002 )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthenticatorEvent ¶
type AuthenticatorEvent struct { Authenticator AuthenticatorIdentity Event Event }
func (AuthenticatorEvent) Equal ¶
func (e AuthenticatorEvent) Equal(other AuthenticatorEvent) bool
type AuthenticatorIdentity ¶
type AuthenticatorIdentity string
const ( AuthenticatorUnspecified AuthenticatorIdentity = "_unspecified" AuthenticatorUser AuthenticatorIdentity = "__user" AuthenticatorAnonymous AuthenticatorIdentity = "_anonymous" AuthenticatorUserPass AuthenticatorIdentity = "_user-pass" AuthenticatorUserPassPass AuthenticatorIdentity = "_user-pass-pass" AuthenticatorPhone AuthenticatorIdentity = "_phone" AuthenticatorEmail AuthenticatorIdentity = "_email" AuthenticatorGoogle2FA AuthenticatorIdentity = "_google-2fa" AuthenticatorAdmin AuthenticatorIdentity = "_admin" AuthenticatorAdminFlag AuthenticatorIdentity = "_admin-flag" )
type Status ¶
type Status struct { Code StatusCode Message string }
func MakeStatusByCode ¶
func MakeStatusByCode(code StatusCode) Status
func MakeStatusByError ¶
func MakeStatusByError(code StatusCode, err error) Status
func MakeSuccessStatus ¶
func MakeSuccessStatus() Status
type StatusCode ¶
type StatusCode int
const ( StatusCodeUnspecified StatusCode = iota StatusCodeOk StatusCodeNeedAuthenticator StatusCodeNotCompleted StatusCodeNoDataError StatusCodeInvalidArgsError StatusCodeInternalError StatusCodeExistsError StatusCodeNotImplementError StatusCodeConflictError StatusCodeExpiredError StatusCodeLogicError StatusCodeDupError StatusCodeVerifyError StatusCodeBadDataError StatusCodePermissionError )
type TokenManager ¶
type TokenManager interface { CreateToken(ctx context.Context) (bizID string, status Status) DeleteToken(bizID string) MarkAuthenticatorEventCompleted(ctx context.Context, bizID string, e AuthenticatorEvent) Status HasAuthenticatorEventCompleted(ctx context.Context, bizID string, e AuthenticatorEvent) (status Status) GetAllCompletedAuthenticatorEvents(ctx context.Context, bizID string) (es []AuthenticatorEvent, status Status) SetAuthenticatorData(ctx context.Context, bizID string, e AuthenticatorEvent, ds map[string]interface{}) (status Status) GetAllAuthenticatorDatas(ctx context.Context, bizID string, e Event) (ds map[AuthenticatorIdentity]map[string]interface{}, status Status) SetWorkData(ctx context.Context, bizID string, key string, d []byte) (status Status) GetWorkData(ctx context.Context, bizID string, key string) (d []byte, status Status) SetCurrentUserInfo(ctx context.Context, bizID string, ui *UserIdentity) (status Status) GetCurrentUserInfo(ctx context.Context, bizID string) (ui *UserIdentity, status Status) GetCurrentEvents(ctx context.Context, bizID string) (es []AuthenticatorEvent, status Status) }
type TokenManager4Policy ¶
type TokenManager4Policy interface { TokenManager SetCurrentEvents(ctx context.Context, bizID string, es []AuthenticatorEvent) Status ClearCurrentEvents(ctx context.Context, bizID string) Status }
type TokenManagerAll ¶
type TokenManagerAll interface { TokenManager4Policy }
type UserIdentity ¶
type UserInfoInner ¶
type UserInfoInner struct { UserIdentity Password string Google2FASecretKey string AdminFlags []AdminFlag }
type UserManager ¶
type UserManager interface { RegisterBegin(ctx context.Context) (bizID string, neededOrEvent []AuthenticatorEvent, status Status) RegisterCheck(ctx context.Context, bizID string) (neededOrEvent []AuthenticatorEvent, status Status) RegisterEnd(ctx context.Context, bizID string) (userInfo *UserInfo, status Status) LoginBegin(ctx context.Context) (bizID string, neededOrEvent []AuthenticatorEvent, status Status) LoginCheck(ctx context.Context, bizID string) (neededOrEvent []AuthenticatorEvent, status Status) LoginEnd(ctx context.Context, bizID string) (userInfo *UserInfo, status Status) ChangeBegin(ctx context.Context, userID uint64, userName string, authenticators []AuthenticatorIdentity) ( bizID string, neededOrEvent []AuthenticatorEvent, status Status) ChangeCheck(ctx context.Context, bizID string) (neededOrEvent []AuthenticatorEvent, status Status) ChangeEnd(ctx context.Context, bizID string) (status Status) DeleteBegin(ctx context.Context, userID uint64, userName string, authenticators []AuthenticatorIdentity) (bizID string, neededOrEvent []AuthenticatorEvent, status Status) DeleteCheck(ctx context.Context, bizID string) (neededOrEvent []AuthenticatorEvent, status Status) DeleteEnd(ctx context.Context, bizID string) (status Status) ListUsers(ctx context.Context) (users []*UserInfo, status Status) }
Click to show internal directories.
Click to hide internal directories.