Documentation
¶
Index ¶
- Constants
- type ApiKey
- type ApiKeyRole
- type OAuthConfigurationResponse
- type OAuthErrorResponse
- type OAuthErrorType
- type OAuthGrantType
- type OAuthIntrospectResponse
- type OAuthJwksKey
- type OAuthJwksResponse
- type OAuthLoginRequest
- type OAuthLoginResponse
- type OAuthRegisterRequest
- type OAuthRevokeRequest
- 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 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 OAuthUnsupportedGrantType )
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 OAuthRegisterRequest ¶
type OAuthRevokeRequest ¶
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"`
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
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.