Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AuthRequest ¶
type AuthRequest struct { RequestID string `json:"request_id"` UserID string `json:"user_id"` Scopes []string `json:"scope"` ResponseType string `json:"response_type"` ClientID string `json:"client_id"` RedirectURI string `json:"redirect_uri"` State string `json:"state"` Nonce string `json:"nonce"` ResponseMode string `json:"response_mode"` Display string `json:"display"` Prompt []string `json:"prompt"` MaxAge int64 `json:"max_age"` UILocales []language.Tag `json:"ui_locales"` LoginHint string `json:"login_hint"` ACRValues []string `json:"acr_values"` CodeChallenge string `json:"code_challenge"` CodeChallengeMethod string `json:"code_challenge_method"` Done bool `json:"done"` Audience []string `json:"audience"` }
type IClient ¶
type IClient interface { GetClientID() string GetClientSecret() string RedirectURIs() []string Scopes() []string ApplicationType() constant.ApplicationType AuthMethod() string ResponseTypes() []string GrantTypes() []string LoginURL(ctx context.Context, req AuthRequest) string EndSessionURL(ctx context.Context, req model.EndSessionModel) (string, error) AccessTokenTransferType() string IDTokenLifetime() time.Duration AccessTokenLifetime() time.Duration RefreshTokenLifetime() time.Duration AllowInsecure() bool RestrictAdditionalIdTokenScopes() func(scopes []string) []string RestrictAdditionalAccessTokenScopes() func(scopes []string) []string IDTokenUserinfoClaimsAssertion() bool ClockSkew() time.Duration JoseVerificationKey(assertionType constant.AssertionType) (verificationKey interface{}) }
type IStorage ¶
type IStorage interface { SetLogger(logger log.Logger) GetClientByClientID(ctx context.Context, clientID string) (IClient, error) SaveAuthRequest(ctx context.Context, authReq AuthRequest) error AuthRequestBindCallbackData(ctx context.Context, requestID, userID string) (*AuthRequest, error) AuthRequestByCode(ctx context.Context, code string) (*AuthRequest, error) AuthRequestByRequestID(ctx context.Context, requestID string) (*AuthRequest, error) AuthRequestByRefreshToken(ctx context.Context, refreshToken string) (*TokenModel, *AuthRequest, error) AuthRequestByTokenID(ctx context.Context, tokenID string) (*TokenModel, *AuthRequest, error) AuthRequestByJWTClientToken(ctx context.Context, client IClient, token model.JWTClientTokenClaims) (*AuthRequest, error) SaveAuthRequestCode(ctx context.Context, requestID, code string) error SaveTokenModel(ctx context.Context, tokenModel TokenModel) error UpdateTokenModelByRefreshToken(ctx context.Context, tokenModel TokenModel) error SetUserinfoFromScopes(ctx context.Context, authReq AuthRequest, client IClient, scopes []string) (*model.UserInfo, error) SetIntrospectUserinfo(ctx context.Context, authReq AuthRequest, accessTokenClaims model.AccessTokenClaims) (*model.UserInfo, error) SetUserinfo(ctx context.Context, authReq AuthRequest, accessTokenClaims model.AccessTokenClaims, origin string) (*model.UserInfo, error) RevokeRefreshToken(ctx context.Context, refreshToken string) error RevokeAccessToken(ctx context.Context, accessTokenClaims model.AccessTokenClaims) error }
type TokenModel ¶
type TokenModel struct { RequestID string `json:"request_id"` TokenID string `json:"token_id"` UserID string `json:"user_id"` RefreshToken string `json:"refresh_token"` RefreshTokenExpiration time.Time `json:"refresh_token_expiration" form:"refresh_token_expiration"` AccessTokenExpiration time.Time `json:"access_token_expiration" form:"access_token_expiration"` AuthTime time.Time `json:"auth_time"` }
Click to show internal directories.
Click to hide internal directories.