Documentation ¶
Index ¶
- Constants
- type ApiKey
- type ApiKeyRole
- type OAuthChangePassword
- type OAuthConfigurationResponse
- type OAuthErrorResponse
- type OAuthErrorType
- type OAuthGrantType
- type OAuthIntrospectResponse
- type OAuthJwksKey
- type OAuthJwksResponse
- type OAuthLoginRequest
- type OAuthLoginResponse
- type OAuthNotification
- type OAuthNotificationType
- func (oOAuthNotificationType OAuthNotificationType) FromString(keyType string) OAuthNotificationType
- func (OAuthNotificationType OAuthNotificationType) MarshalJSON() ([]byte, error)
- func (OAuthNotificationType OAuthNotificationType) String() string
- func (OAuthNotificationType *OAuthNotificationType) UnmarshalJSON(b []byte) error
- type OAuthRecoverPassword
- type OAuthRegisterRequest
- type OAuthRevokeRequest
- type OAuthVerifyEmail
- type Tenant
- type TenantFeature
- type TenantFeatureState
- type User
- type UserClaim
- type UserRole
- type UserToken
Constants ¶
View Source
const ( InvalidTokenError = "invalid_token" TokenNotFoundError = "token_not_found" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApiKey ¶
type ApiKey struct { ID string `json:"id" bson:"_id"` Name string `json:"name" bson:"name"` KeyValue string `json:"keyValue" bson:"keyValue"` Description string `json:"description,omitempty" bson:"description"` ValidFrom time.Time `json:"validFrom" bson:"validFrom"` ValidTo time.Time `json:"validTo" bson:"validTo"` Roles []ApiKeyRole `json:"roles" bson:"roles"` }
type ApiKeyRole ¶
func NewApiKeyRole ¶
func NewApiKeyRole(name string) *ApiKeyRole
type OAuthChangePassword ¶ added in v0.0.6
type OAuthConfigurationResponse ¶
type OAuthConfigurationResponse struct { Issuer string `json:"issuer"` JwksURI string `json:"jwks_uri"` AuthorizationEndpoint string `json:"authorization_endpoint"` TokenEndpoint string `json:"token_endpoint"` UserinfoEndpoint string `json:"userinfo_endpoint"` EndSessionEndpoint string `json:"end_session_endpoint"` CheckSessionIframe string `json:"check_session_iframe"` RevocationEndpoint string `json:"revocation_endpoint"` IntrospectionEndpoint string `json:"introspection_endpoint"` DeviceAuthorizationEndpoint string `json:"device_authorization_endpoint"` FrontchannelLogoutSupported bool `json:"frontchannel_logout_supported"` FrontchannelLogoutSessionSupported bool `json:"frontchannel_logout_session_supported"` BackchannelLogoutSupported bool `json:"backchannel_logout_supported"` BackchannelLogoutSessionSupported bool `json:"backchannel_logout_session_supported"` ScopesSupported []string `json:"scopes_supported"` ClaimsSupported []string `json:"claims_supported"` GrantTypesSupported []string `json:"grant_types_supported"` ResponseTypesSupported []string `json:"response_types_supported"` ResponseModesSupported []string `json:"response_modes_supported"` TokenEndpointAuthMethodsSupported []string `json:"token_endpoint_auth_methods_supported"` SubjectTypesSupported []string `json:"subject_types_supported"` IDTokenSigningAlgValuesSupported []string `json:"id_token_signing_alg_values_supported"` CodeChallengeMethodsSupported []string `json:"code_challenge_methods_supported"` RequestParameterSupported bool `json:"request_parameter_supported"` }
type OAuthErrorResponse ¶
type OAuthErrorResponse struct { Error OAuthErrorType `json:"error"` ErrorDescription string `json:"error_description,omitempty"` ErrorUri string `json:"error_uri,omitempty"` }
OAuthErrorResponse entity
func NewOAuthErrorResponse ¶
func NewOAuthErrorResponse(err OAuthErrorType, description string) OAuthErrorResponse
func (OAuthErrorResponse) Log ¶
func (err OAuthErrorResponse) Log(extraLogs ...string)
func (OAuthErrorResponse) String ¶
func (err OAuthErrorResponse) String() string
type OAuthErrorType ¶
type OAuthErrorType int64
OAuthErrorType Enum
const ( OAuthInvalidRequestError OAuthErrorType = iota OAuthInvalidClientError OAuthInvalidGrant OAuthInvalidScope OAuthUserExists OAuthUnsupportedGrantType OAuthPasswordMismatch OAuthPasswordValidation OAuthUserValidation OAuthEmailNotVerified OAuthUserBlocked UnknownError )
func (OAuthErrorType) FromString ¶
func (oAuthErrorType OAuthErrorType) FromString(keyType string) OAuthErrorType
func (OAuthErrorType) MarshalJSON ¶
func (oAuthErrorType OAuthErrorType) MarshalJSON() ([]byte, error)
func (OAuthErrorType) String ¶
func (oAuthErrorType OAuthErrorType) String() string
func (*OAuthErrorType) UnmarshalJSON ¶
func (oAuthErrorType *OAuthErrorType) UnmarshalJSON(b []byte) error
type OAuthGrantType ¶
type OAuthGrantType int64
OAuthGrantType Enum
const (
OAuthPasswordGrant OAuthGrantType = iota
)
func (OAuthGrantType) FromString ¶
func (oauthGrantType OAuthGrantType) FromString(keyType string) OAuthGrantType
func (OAuthGrantType) MarshalJSON ¶
func (oauthGrantType OAuthGrantType) MarshalJSON() ([]byte, error)
func (OAuthGrantType) String ¶
func (oauthGrantType OAuthGrantType) String() string
func (*OAuthGrantType) UnmarshalJSON ¶
func (oauthGrantType *OAuthGrantType) UnmarshalJSON(b []byte) error
type OAuthIntrospectResponse ¶
type OAuthIntrospectResponse struct { ID string `json:"jti,omitempty"` Active bool `json:"active"` TokenType string `json:"token_type,omitempty"` Subject string `json:"sub,omitempty"` ClientId string `json:"client_id,omitempty"` ExpiresAt string `json:"exp,omitempty"` IssuedAt string `json:"iat,omitempty"` Issuer string `json:"iss,omitempty"` }
OAuthIntrospectResponse entity
type OAuthJwksKey ¶
type OAuthJwksKey struct { ID string `json:"kid"` Algorithm encryption.EncryptionKey `json:"alg"` AlgorithmFamily encryption.EncryptionKeyType `json:"kty"` Use string `json:"use"` X5C []string `json:"x5c"` Exponent string `json:"e,omitempty"` Modulus string `json:"n,omitempty"` Curve string `json:"curve,omitempty"` X string `json:"x,omitempty"` Y string `json:"y,omitempty"` Thumbprint string `json:"x5t"` }
type OAuthJwksResponse ¶
type OAuthJwksResponse struct {
Keys []OAuthJwksKey `json:"keys"`
}
type OAuthLoginRequest ¶
type OAuthLoginRequest struct { GrantType string `json:"grant_type"` Username string `json:"username,omitempty"` Password string `json:"password,omitempty"` RefreshToken string `json:"refresh_token,omitempty"` Scope string `json:"scope,omitempty"` ClientID string `json:"client_id,omitempty"` ClientSecret string `json:"client_secret,omitempty"` }
OAuthLoginRequest Entity
type OAuthLoginResponse ¶
type OAuthLoginResponse struct { AccessToken string `json:"access_token"` TokenType string `json:"token_type"` ExpiresIn string `json:"expires_in"` RefreshToken string `json:"refresh_token"` Scope string `json:"scope"` }
OAuthLoginRequest Entity
type OAuthNotification ¶ added in v0.0.7
type OAuthNotification struct { Type OAuthNotificationType Data interface{} Request *http.Request Error *OAuthErrorResponse }
func (OAuthNotification) GetBody ¶ added in v0.0.11
func (n OAuthNotification) GetBody(dest interface{}) error
func (OAuthNotification) Success ¶ added in v0.0.11
func (n OAuthNotification) Success() bool
type OAuthNotificationType ¶ added in v0.0.7
type OAuthNotificationType int64
OAuthNotificationType Enum
const ( RegistrationRequest OAuthNotificationType = iota EmailValidationRequest EmailValidation PasswordRecoveryRequest PasswordRecoveryValidation PasswordRecovery PasswordChange TokenRequest TokenRevoked ConfigurationRequest )
func (OAuthNotificationType) FromString ¶ added in v0.0.7
func (oOAuthNotificationType OAuthNotificationType) FromString(keyType string) OAuthNotificationType
func (OAuthNotificationType) MarshalJSON ¶ added in v0.0.7
func (OAuthNotificationType OAuthNotificationType) MarshalJSON() ([]byte, error)
func (OAuthNotificationType) String ¶ added in v0.0.7
func (OAuthNotificationType OAuthNotificationType) String() string
func (*OAuthNotificationType) UnmarshalJSON ¶ added in v0.0.7
func (OAuthNotificationType *OAuthNotificationType) UnmarshalJSON(b []byte) error
type OAuthRecoverPassword ¶ added in v0.0.6
type OAuthRegisterRequest ¶
type OAuthRevokeRequest ¶
type OAuthVerifyEmail ¶ added in v0.0.6
type OAuthVerifyEmail struct {
EmailToken string `json:"email_token"`
}
type TenantFeature ¶
type TenantFeature struct { ID string `json:"id" bson:"_id"` Name string `json:"name" bson:"name"` State TenantFeatureState `json:"state" bson:"state"` }
type TenantFeatureState ¶
type TenantFeatureState int64
const ( Unknown TenantFeatureState = iota Provisioning Provisioned Enabling Enabled Disabling Disabled Deleting Deleted Error )
func (TenantFeatureState) FromString ¶
func (l TenantFeatureState) FromString(value string) TenantFeatureState
func (TenantFeatureState) String ¶
func (l TenantFeatureState) String() string
type User ¶
type User struct { ID string `json:"id" bson:"_id"` Email string `json:"email" bson:"email"` EmailVerified bool `json:"emailVerified" bson:"emailVerified"` Username string `json:"username" bson:"username"` FirstName string `json:"firstName" bson:"firstName"` LastName string `json:"lastName" bson:"lastName"` DisplayName string `json:"displayName" bson:"displayName"` Password string `json:"password" bson:"password"` Token string `json:"-" bson:"-"` RefreshToken string `json:"refreshToken" bson:"refreshToken"` RecoveryToken string `json:"recoveryToken" bson:"recoveryToken"` EmailVerifyToken string `json:"emailVerifyToken" bson:"emailVerifyToken"` InvalidAttempts int `json:"invalidAttempts" bson:"invalidAttempts"` Blocked bool `json:"blocked" bson:"blocked"` BlockedUntil string `json:"blockedUntil" bson:"blockedUntil"` Roles []UserRole `json:"roles" bson:"roles"` Claims []UserClaim `json:"claims" bson:"claims"` }
User entity
func (User) GetHashedPassword ¶ added in v0.0.6
func (User) HashPassword ¶ added in v0.0.6
type UserClaim ¶
type UserClaim struct { ID string `json:"id" bson:"_id"` Name string `json:"claimName" bson:"claimName"` }
func NewUserClaim ¶
type UserRole ¶
type UserRole struct { ID string `json:"id" bson:"_id"` Name string `json:"roleName" bson:"roleName"` }
func NewUserRole ¶
func (UserRole) IsSuperUser ¶
type UserToken ¶
type UserToken struct { ID string `json:"jti,omitempty"` Scope string `json:"scope,omitempty"` User string `json:"sub,omitempty"` Issuer string `json:"iss,omitempty"` FirstName string `json:"given_name,omitempty"` LastName string `json:"family_name,omitempty"` UserID string `json:"uid,omitempty"` TenantId string `json:"tid,omitempty"` DisplayName string `json:"name,omitempty"` Email string `json:"email,omitempty"` EmailVerified bool `json:"email_verified,omitempty"` Nonce string `json:"nonce,omitempty"` NotBefore time.Time `json:"nbf,omitempty"` ExpiresAt time.Time `json:"exp,omitempty"` IssuedAt time.Time `json:"iat,omitempty"` Audiences []string `json:"aud,omitempty"` Roles []string `json:"roles,omitempty"` UsedKeyID string `json:"-"` RefreshToken string `json:"-"` Token string `json:"-"` }
func (*UserToken) UnmarshalJSON ¶
Click to show internal directories.
Click to hide internal directories.