Accueil > OpenID Connect OAuth Serveur dédié > Développer > OpenID Connect > API OpenID Connect : Découverte

API OpenID Connect : Découverte

Le protocole OpenID Connect nécessite l’utilisation de plusieurs points d’extrémité pour authentifier les utilisateurs et pour demander des ressources, y compris des jetons, des informations sur l’utilisateur et des clés publiques.

Comment un serveur de ressource indépendant du serveur d’autorisation peut-il connaître les fonctionnalités du serveur et y accéder ?

Le document de découverte

Conformément à la spécification OpenID Connect Discovery 1.0, OAuthSD expose ses métadonnées à l’URI :

https://oa.dnc.global/.well-known/openid-configuration

Voici un exemple (non stable) des métadonnées fournies au format JSON :

[JSON]

{
 "issuer"                                : "https://oa.dnc.global",
 "token_endpoint"                        : "https://oa.dnc.global/token",
 "introspection_endpoint"                : "https://oa.dnc.global/introspect",
 "revocation_endpoint"                   : "https://oa.dnc.global/revoke",
 "authorization_endpoint"                : "https://oa.dnc.global/authorize",
 "userinfo_endpoint"                     : "https://oa.dnc.global/userinfo",
 "jwks_uri"                              : "https://oa.dnc.global/keys",
 "scopes_supported"                      : [ "openid",
                                             "profile",
                                             "email",
                                             "address",
                                             "phone"],
 "response_types_supported"              : [ "code",
                                             "id_token",
                                             "token id_token",
                                             "id_token token",
                                             "code id_token" ,
                                             "code token id_token" ],
 "response_modes_supported"              : [ "query",
                                             "fragment",
                                              "form_post" ],
 "grant_types_supported"                 : [ "authorization_code",
                                             "refresh_token",
                                             "password",
                                             "client_credentials",
                                             "urn:ietf:params:oauth:grant-type:jwt-bearer"],      
 "code_challenge_methods_supported"      : [ "S256",
                                             "plain" ],
 "subject_types_supported"               : [ "public" ],                                
 "token_endpoint_auth_methods_supported" : [ "client_secret_basic",
                                             "client_secret_post",
                                             "client_secret_jwt",
                                             "private_key_jwt" ],                                
 "token_endpoint_auth_signing_alg_values_supported" :
                                           [ "HS256",
                                             "HS512",
                                             "HS384",
                                             "RS256",
                                             "RS384",
                                             "RS512"],                                
 "id_token_signing_alg_values_supported" : [ "RS256",
                                             "RS384",
                                             "RS512",
                                             "HS256",
                                             "HS384",
                                             "HS512" ],
 "userinfo_signing_alg_values_supported" : [ "RS256",
                                             "RS384",
                                             "RS512",
                                             "HS256",
                                             "HS384",
                                             "HS512" ],  
 "claim_types_supported"                 : [ "normal" ],  
 "claims_supported"                      : [ "sub",
                                             "iss",
                                             "auth_time",
                                             "acr",
                                             "name",
                                             "given_name",
                                             "family_name",
                                             "nickname",
                                             "email",
                                             "email_verified" ],
 "ui_locales_supported"                  : [ "fr" ],  
 "claims_parameter_supported"            : true,  
 "request_parameter_supported"           : false,
 "request_uri_parameter_supported"       : false,
 "require_request_uri_registration"      : false

Voir également :
- API OpenId Connect : Point d’extrémité d’informations sur les clefs (Keys Endpoint)