Configurer des applications avec OIDC Discovery
Les documents OpenID Connect (OIDC) Discovery (Découverte OpenID Connect) contiennent des métadonnées sur le fournisseur d’identité (IdP). L’ajout de la découverte à votre trousse SDK pour pointer votre application vers le point de terminaison ./wellknown
pour consommer des informations sur votre IdP pourrait aider à configurer votre intégration avec l’IdP.
L’intégration de la découverte OIDC dans votre trousse SDK permet :
Points de terminaison exposés du idP
Les Demandes et permissions soutenues par l’OIDC standard (cela exclut les demandes personnalisées et les permissions définies dans votre locataire)
Fonctionnalités prises en charge par l’IdP
Vous pouvez configurer des applications avec les documents de découverte OpenID Connect (OIDC) trouvés ici : https://{yourDomain}/.well-known/openid-configuration
.
Exemple de réponse
{
"issuer": "https://{yourDomain}.us.auth0.com/",
"authorization_endpoint": "https://{yourDomain}.us.auth0.com/authorize",
"token_endpoint": "https://{yourDomain}.us.auth0.com/oauth/token",
"device_authorization_endpoint": "https://{yourDomain}.us.auth0.com/oauth/device/code",
"userinfo_endpoint": "https://{yourDomain}.us.auth0.com/userinfo",
"mfa_challenge_endpoint": "https://{yourDomain}.us.auth0.com/mfa/challenge",
"jwks_uri": "https://{yourDomain}.us.auth0.com/.well-known/jwks.json",
"registration_endpoint": "https://{yourDomain}.us.auth0.com/oidc/register",
"revocation_endpoint": "https://{yourDomain}.us.auth0.com/oauth/revoke",
"scopes_supported": [
"openid",
"profile",
"offline_access",
"name",
"given_name",
"family_name",
"nickname",
"email",
"email_verified",
"picture",
"created_at",
"identities",
"phone",
"address"
],
"response_types_supported": [
"code",
"token",
"id_token",
"code token",
"code id_token",
"token id_token",
"code token id_token"
],
"code_challenge_methods_supported": [
"S256",
"plain"
],
"response_modes_supported": [
"query",
"fragment",
"form_post"
],
"subject_types_supported": [
"public"
],
"id_token_signing_alg_values_supported": [
"HS256",
"RS256",
"PS256"
],
"token_endpoint_auth_methods_supported": [
"client_secret_basic",
"client_secret_post",
"private_key_jwt"
],
"claims_supported": [
"aud",
"auth_time",
"created_at",
"email",
"email_verified",
"exp",
"family_name",
"given_name",
"iat",
"identities",
"iss",
"name",
"nickname",
"phone_number",
"picture",
"sub"
],
"request_uri_parameter_supported": false,
"request_parameter_supported": false,
"token_endpoint_auth_signing_alg_values_supported": [
"RS256",
"RS384",
"PS256"
]
}
Was this helpful?
Exemple d’implémentation
Par exemple, voici comment configurer le logiciel médiateur OIDC pour Katana v3 (OWIN) :
Installer le paquet NuGet : Microsoft.Owin.Security.OpenIdConnect (v3.x.x)
Accédez à
App_Start\Startup.Auth.cs
et remplacez votre implémentation par ce qui suit :codeblockOld.header.login.configureSnippetapp.UseCookieAuthentication(new CookieAuthenticationOptions { AuthenticationType = CookieAuthenticationDefaults.AuthenticationType }); app.UseOpenIdConnectAuthentication(new OpenIdConnectAuthenticationOptions { Authority = "https://{yourDomain}/", ClientId = "{yourClientId}", SignInAsAuthenticationType = CookieAuthenticationDefaults.AuthenticationType, ResponseType = "token", Notifications = new OpenIdConnectAuthenticationNotifications { // OPTIONAL: you can read/modify the claims that are populated based on the JWT SecurityTokenValidated = context => { // add Auth0 Access Token as claim var accessToken = context.ProtocolMessage.AccessToken; if (!string.IsNullOrEmpty(accessToken)) { context.AuthenticationTicket.Identity.AddClaim(new Claim("access_token", accessToken)); } return Task.FromResult(0); } } });
Was this helpful?
/
Algorithme RSA pour les JWT
Le logiciel médiateur OIDC ne prend pas en charge les JWT signés avec des clés symétriques. Assurez-vous de configurer votre application pour utiliser l’algorithme RSA à l’aide de clés publiques/privées.
Accédez à Dashboard > Settings Paramètres.
Faites défiler vers leParamètres avancés.
Sous l’onglet OAuth , définissez
RS256
comme Algorithme de signature Demandes de jetons Web JSON (JWT) et cliquez sur Save (Enregistrer).
Avec ce paramètre, Auth0 émettra des JWT signés avec votre clé de connexion privée. Votre application les vérifiera avec votre clé de connexion publique.