Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶ added in v1.2.0
type Client struct { Config *Configuration Keystore *Keystore // contains filtered or unexported fields }
Cient of an OIDC issuer
func NewOIDCClient ¶ added in v1.2.0
NewOIDCClient create OpenID client from auto-discovery issuer endpoint
func (*Client) Introspect ¶ added in v1.2.0
func (c *Client) Introspect(token string) (*IntrospectionResponse, error)
Introspect call token introspection endpoint
type Configuration ¶
type Configuration 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"` RevocationEndpoint string `json:"revocation_endpoint"` IntrospectionEndpoint string `json:"introspection_endpoint"` 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"` CodeChallengeMethodsSupported []string `json:"code_challenge_methods_supported"` }
Configuration is the result from an OIDC discovery endpoint
type ErrorResponse ¶ added in v1.2.0
type ErrorResponse struct { Error string `json:"error"` Description string `json:"error_description"` }
ErrorResponse JSON error response
type IntrospectionResponse ¶ added in v1.2.0
type IntrospectionResponse struct { Sub string `json:"sub"` Active bool `json:"active"` Username string `json:"username"` PreferredUsername string `json:"preferred_username"` }
IntrospectionResponse JSON introspection response
type JSONWebKey ¶
type JSONWebKey struct { Kty string `json:"kty"` Alg string `json:"alg"` Kid string `json:"kid"` Use string `json:"use"` N string `json:"n"` E string `json:"e"` X5c []string `json:"x5c"` }
JSONWebKey JSON web key
type JSONWebKeySet ¶
type JSONWebKeySet struct {
Keys []JSONWebKey `json:"keys"`
}
JSONWebKeySet JSON web key set
type Keystore ¶
type Keystore struct {
// contains filtered or unexported fields
}
Keystore OIDC keystore
func NewOIDCKeystore ¶
func NewOIDCKeystore(conf *Configuration) (*Keystore, error)
NewOIDCKeystore create a new OIDC keystore
type UserInfoResponse ¶ added in v1.2.0
type UserInfoResponse struct { Sub string `json:"sub"` Email string `json:"email"` PreferredUsername string `json:"preferred_username"` }
UserInfoResponse JSON user info response
Click to show internal directories.
Click to hide internal directories.