photoprism/internal/server/wellknown/openid.go
Michael Mayer 64b8ed572d API: Add .well-known/openid-configuration route handler #808 #3943
This adds an initial "/.well-known/openid-configuration" service
discovery endpoint for use by OpenID Connect clients.

Signed-off-by: Michael Mayer <michael@photoprism.app>
2024-01-08 17:25:07 +01:00

29 lines
2.2 KiB
Go

package wellknown
// OpenIDConfiguration represents the values returned by the "/.well-known/openid-configuration" endpoint.
type OpenIDConfiguration struct {
Issuer string `json:"issuer"`
AuthorizationEndpoint string `json:"authorization_endpoint"`
TokenEndpoint string `json:"token_endpoint"`
UserinfoEndpoint string `json:"userinfo_endpoint"`
RegistrationEndpoint string `json:"registration_endpoint"`
JwksUri string `json:"jwks_uri"`
ResponseTypesSupported []string `json:"response_types_supported"`
ResponseModesSupported []string `json:"response_modes_supported"`
GrantTypesSupported []string `json:"grant_types_supported"`
SubjectTypesSupported []string `json:"subject_types_supported"`
IdTokenSigningAlgValuesSupported []string `json:"id_token_signing_alg_values_supported"`
ScopesSupported []string `json:"scopes_supported"`
TokenEndpointAuthMethodsSupported []string `json:"token_endpoint_auth_methods_supported"`
ClaimsSupported []string `json:"claims_supported"`
CodeChallengeMethodsSupported []string `json:"code_challenge_methods_supported"`
IntrospectionEndpoint string `json:"introspection_endpoint"`
IntrospectionEndpointAuthMethodsSupported []string `json:"introspection_endpoint_auth_methods_supported"`
RevocationEndpoint string `json:"revocation_endpoint"`
RevocationEndpointAuthMethodsSupported []string `json:"revocation_endpoint_auth_methods_supported"`
EndSessionEndpoint string `json:"end_session_endpoint"`
RequestParameterSupported bool `json:"request_parameter_supported"`
RequestObjectSigningAlgValuesSupported []string `json:"request_object_signing_alg_values_supported"`
DeviceAuthorizationEndpoint string `json:"device_authorization_endpoint"`
DpopSigningAlgValuesSupported []string `json:"dpop_signing_alg_values_supported"`
}