Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var ( ErrInvalidRequest = &TokenError{Name: "invalid_request", Description: "The request is missing a required parameter, includes an invalid parameter value, includes a parameter more than once, or is otherwise malformed."} ErrInvalidClient = &TokenError{Name: "invalid_client", Description: "Client authentication failed (e.g., unknown client, no client authentication included, or unsupported authentication method)."} ErrInvalidGrant = &TokenError{Name: "invalid_grant", Description: "The provided authorization grant (e.g., authorization code, resource owner credentials) or refresh token is invalid, expired, revoked, does not match the redirection URI used in the authorization request, or was issued to another client."} ErrUnsupportedGrantType = &TokenError{Name: "unsupported_grant_type", Description: "The authorization grant type is not supported by the authorization server."} ErrInvalidScope = &TokenError{Name: "invalid_scope", Description: "The requested scope is invalid, unknown, malformed, or exceeds the scope granted by the resource owner."} )
Functions ¶
func CreateCodeChallenge ¶
func VerifyCodeChallenge ¶
Types ¶
type AccessToken ¶
type AccessToken struct { Issuer string `json:"iss"` Subject string `json:"sub"` Audience []string `json:"aud"` JWTID string `json:"jti"` Expiration int64 `json:"exp"` IssuedAt int64 `json:"iat"` // Confirmation jwt.Confirmation `json:"cnf"` ClientID string `json:"client_id"` Scope string `json:"scope"` }
func (*AccessToken) Type ¶
func (t *AccessToken) Type() string
type IDToken ¶
type ServerConfiguration ¶
type ServerConfiguration struct { // Issuer is the URL of the OpenID Provider Issuer string `json:"issuer"` // AuthorizationEndpoint is the URL of the OpenID Provider's OAuth 2.0 Authorization Endpoint AuthorizationEndpoint string `json:"authorization_endpoint"` // TokenEndpoint is the URL of the OpenID Provider's OAuth 2.0 Token Endpoint TokenEndpoint string `json:"token_endpoint"` // UserInfoEndpoint is the URL of the OpenID Provider's UserInfo Endpoint UserInfoEndpoint string `json:"userinfo_endpoint"` // JwksURI is the URL of the OpenID Provider's JSON Web Key Set [JWK] document JwksURI string `json:"jwks_uri"` // RegistrationEndpoint is the URL of the OpenID Provider's Dynamic Client Registration Endpoint RegistrationEndpoint string `json:"registration_endpoint"` // ScopesSupported is a list of the OAuth 2.0 [RFC6749] scope values that this server supports ScopesSupported []string `json:"scopes_supported"` // ResponseTypesSupported is a list of the OAuth 2.0 response_type values that this OP supports ResponseTypesSupported []string `json:"response_types_supported"` // ResponseModesSupported is a list of the OAuth 2.0 response_mode values that this OP supports ResponseModesSupported []string `json:"response_modes_supported"` // GrantTypesSupported is a list of the OAuth 2.0 Grant Type values that this OP supports GrantTypesSupported []string `json:"grant_types_supported"` // ACRValuesSupported is a list of the Authentication Context Class References that this OP supports ACRValuesSupported []string `json:"acr_values_supported"` // SubjectTypesSupported is a list of the Subject Identifier types that this OP supports SubjectTypesSupported []string `json:"subject_types_supported"` // IDTokenSigningAlgValuesSupported is a list of the JWS signing algorithms (alg values) supported by the OP for the ID Token to encode the Claims in a JWT IDTokenSigningAlgValuesSupported []string `json:"id_token_signing_alg_values_supported"` }
Openid configuration
type TokenError ¶
TokenError is a JSON response for an error in the token endpoint as per https://www.rfc-editor.org/rfc/rfc6749#section-5.2
func (*TokenError) Error ¶
func (e *TokenError) Error() string
func (*TokenError) RespondJSON ¶
func (e *TokenError) RespondJSON(w http.ResponseWriter)
type TokenRequest ¶
type TokenRequest struct { Code string CodeVerifier string GrantType string RedirectURI string ClientID string }
func ParseTokenRequest ¶
func ParseTokenRequest(req *http.Request) TokenRequest
func TokenRequestFromValues ¶
func TokenRequestFromValues(values url.Values) TokenRequest
type TokenResource ¶
type TokenResource struct { PrivateKey crypto.Signer PrivateKeyID string Origin string // contains filtered or unexported fields }
func (*TokenResource) ServeHTTP ¶
func (t *TokenResource) ServeHTTP(w http.ResponseWriter, req *http.Request)
Click to show internal directories.
Click to hide internal directories.