Définir un profil technique OAuth2 dans une stratégie personnalisée Azure Active Directory B2C

Notes

Dans Active Directory B2C, les stratégies personnalisées sont principalement conçues pour gérer des scénarios complexes. Pour la plupart des scénarios, nous vous recommandons de recourir à des flux d’utilisateurs intégrés. Si vous ne l’avez pas fait, découvrez le Pack de démarrage de stratégie personnalisée dans Prise en main des stratégies personnalisées dans Active Directory B2C.

Azure Active Directory B2C (Azure AD B2C) prend en charge le fournisseur d’identité du protocole OAuth2. OAuth2 est le principal protocole pour l’autorisation et l’authentification déléguée. Pour plus d’informations, voir la spécification RFC 6749 The OAuth 2.0 Authorization Framework. Un profil technique OAuth2 vous permet d’opérer une fédération avec un fournisseur d’identité basée sur OAuth2, tel que Facebook. Fédérer avec un fournisseur d’identité permet aux utilisateurs de se connecter avec leurs identités existantes de réseaux sociaux ou d’entreprise.

Protocol

L’attribut Name de l’élément Protocol doit être défini sur OAuth2. Par exemple, le protocole pour profil technique Facebook-OAUTH est OAuth2 :

<TechnicalProfile Id="Facebook-OAUTH">
  <DisplayName>Facebook</DisplayName>
  <Protocol Name="OAuth2" />
  ...

Revendications d’entrée

Les éléments InputClaims et InputClaimsTransformations ne sont pas obligatoires. Vous pouvez cependant envoyer des paramètres supplémentaires à votre fournisseur d’identité. L’exemple suivant ajoute le paramètre de chaîne de requête domain_hint avec la valeur contoso.com à la demande d’autorisation.

<InputClaims>
  <InputClaim ClaimTypeReferenceId="domain_hint" DefaultValue="contoso.com" />
</InputClaims>

Revendications de sortie

L’élément OutputClaims contient une liste de revendications retournée par le fournisseur d'identité OAuth2. Il se peut que vous deviez mapper le nom de la revendication définie dans votre stratégie au nom défini dans le fournisseur d'identité. Vous pouvez également inclure des revendications qui ne sont pas retournées par le fournisseur d’identité, pour autant que vous définissiez l’attribut DefaultValue.

L’élément OutputClaimsTransformations peut contenir une collection d’éléments OutputClaimsTransformation qui sont utilisés pour modifier les revendications de sortie ou en générer de nouvelles.

L’exemple suivant montre les revendications retournées par le fournisseur d’identité Facebook :

  • Revendication first_name mappée à la revendication givenName.
  • Revendication last_name mappée à la revendication surname.
  • Revendication displayName sans mappage de nom.
  • La revendication email sans mappage de nom.

Le profil technique retourne également des revendications qui ne sont pas retournées par le fournisseur d’identité :

  • La revendication identityProvider contenant le nom du fournisseur d’identité.
  • La revendication authenticationSource avec la valeur par défaut socialIdpAuthentication.
<OutputClaims>
  <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="id" />
  <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="first_name" />
  <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="last_name" />
  <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
  <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
  <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="facebook.com" />
  <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
</OutputClaims>

Métadonnées du point de terminaison d’autorisation

Le flux d’autorisation commence quand Azure AD B2C dirige l’utilisateur vers le point de terminaison /authorize des fournisseurs d’identité OAuth2. L’appel au point de terminaison d’autorisation est la partie interactive du flux, où l’utilisateur agit. À ce stade, l’utilisateur est invité à terminer la connexion au fournisseur d’identité OAuth2. Par exemple, en entrant son nom d’utilisateur et son mot de passe.

Azure AD B2C crée une demande d’autorisation en fournissant l’ID client, les étendues, l’URI de redirection et d’autres paramètres dont il a besoin pour acquérir un jeton d’accès auprès du fournisseur d’identité. Cette section décrit les métadonnées du point de terminaison d’autorisation qui permettent de configurer la demande adressée au point de terminaison /authorize du fournisseur d’identité.

La demande adressée au point de terminaison d’autorisation est toujours une requête HTTP GET. L’exemple suivant illustre un appel au point de terminaison d’autorisation.

GET https://login.contoso.com/oauth/v2/authorization?
client_id=12345
&response_type=code
&response_mode=query
&redirect_uri=urn%3Aietf%3Awg%3Aoauth%3A2.0%3Aoob
&scope=profile%20offline_access
&redirect_uri=https%3a%2f%2fabrikam.b2clogin.com%2fabrikam.onmicrosoft.com%2foauth2%2fauthresp
&state=...

Le tableau suivant répertorie les métadonnées du point de terminaison d’autorisation.

Attribut Obligatoire Description
authorization_endpoint Oui URL du point de terminaison d’autorisation conformément à la norme RFC 6749.
client_id Oui Identificateur d’application du fournisseur d’identité.
AdditionalRequestQueryParameters Non Paramètres de requête de demande supplémentaires. Par exemple, vous pouvez envoyer des paramètres supplémentaires à votre fournisseur d’identité. Vous pouvez inclure plusieurs paramètres en utilisant un séparateur virgule.
response_mode Non Méthode que le fournisseur d’identité utilise pour renvoyer le résultat à Azure AD B2C. Valeurs possibles : query, form_post (par défaut) ou fragment.
scope Non Étendue de la requête définie conformément à la spécification de fournisseur d’identité OAuth2. Par exemple, openid, profile ou email.
UsePolicyInRedirectUri Non Indique s’il faut utiliser une stratégie lors de la construction de l’URI de redirection. Lorsque vous configurez votre application dans le fournisseur d’identité, vous devez spécifier l’URI de redirection. L’URI de redirection pointe vers Azure AD B2C, https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/oauth2/authresp. Si vous spécifiez true, vous devez ajouter un URI de redirection pour chaque stratégie que vous utilisez. Par exemple : https://{your-tenant-name}.b2clogin.com/{your-tenant-name}.onmicrosoft.com/{policy-name}/oauth2/authresp.

Métadonnées de point de terminaison de jeton

Une fois que l’utilisateur a terminé son authentification au niveau du point de terminaison d’autorisation du fournisseur d’identité, une réponse contenant l’autorisation code est retournée à Azure AD B2C. Azure AD B2C échange le code d’autorisation contre un jeton d’accès en envoyant une requête POST au point de terminaison /token du fournisseur d’identité. Cette section décrit les métadonnées du point de terminaison de jeton qui permettent de configurer la demande adressée au point de terminaison /token du fournisseur d’identité.

La requête HTTP suivante montre un appel d’Azure AD B2C au point de terminaison de jeton du fournisseur d’identité.

POST https://contoso/oauth2/token 
Content-Type: application/x-www-form-urlencoded

grant_type=authorization_code&client_id=12345&scope=profile offline_access&code=AwABAAAAvPM1KaPlrEqdFSBzjqfTGBCmLdgfSTLEMPGYuNHSUYBrq... 

Le tableau suivant répertorie les métadonnées de point de terminaison de jeton.

Attribut Obligatoire Description
AccessTokenEndpoint Oui URL du point de terminaison de jeton. Par exemple : https://www.linkedin.com/oauth/v2/accessToken.
HttpBinding Non Liaison HTTP attendue vers le point de terminaison de jeton. Valeurs possibles : GET ou POST.
AccessTokenResponseFormat Non Format de l’appel de point de terminaison du jeton d’accès. Par exemple, Facebook nécessite une méthode HTTP GET, mais la réponse de jeton d’accès est au format JSON. Valeurs possibles : Default, Json et JsonP.
ExtraParamsInAccessTokenEndpointResponse Non Contient les paramètres supplémentaires qui peuvent être retournés dans la réponse d’AccessTokenEndpoint par certains fournisseurs d’identité. Par exemple, la réponse d’AccessTokenEndpoint contient un paramètre supplémentaire tel que openid, qui est obligatoire, en plus du jeton d’accès dans une chaîne de requête de demande ClaimsEndpoint. S’il y a plusieurs noms de paramètre, ils doivent être échappés et séparés par le délimiteur virgule « , ».
token_endpoint_auth_method Non Indique comment Azure AD B2C envoie l’en-tête d’authentification au point de terminaison du jeton. Valeurs possibles : client_secret_post (par défaut) et client_secret_basic, private_key_jwt. Pour plus d’informations, consultez Section d’authentification du client OpenID Connect.
token_signing_algorithm Non Spécifie l’algorithme de signature à utiliser lorsque token_endpoint_auth_method a la valeur private_key_jwt. Valeurs possibles : RS256 (par défaut) ou RS512.

Configurer la méthode de liaison HTTP

Par défaut, la demande envoyée au point de terminaison de jeton est requête HTTP POST.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="HttpBinding">POST</Item>

L’appel HTTP suivant illustre un appel au point de terminaison de jeton à l’aide d’une requête HTTP POST :

POST /oauth2/token

client_id=abcd&client_secret=1234&redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fcontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

Pour les fournisseurs d’identité qui requièrent l’utilisation de la méthode HTTP GET au niveau du point de terminaison /token, définissez les métadonnées HttpBinding sur GET. Notez que, dans l’exemple suivant, la valeur de AccessTokenResponseFormat est définie sur json, car le point de terminaison de jeton retourne la réponse au format JSON.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="HttpBinding">GET</Item>
<Item Key="AccessTokenResponseFormat">json</Item>
GET /oauth2/token?client_id=abcd&client_secret=1234&redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fcontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

Configurer le format de réponse du jeton d’accès

Pour les fournisseurs d’identité qui prennent en charge la méthode HTTP POST, AccessTokenResponseFormat est défini par défaut sur json. Si le fournisseur d’identité prend en charge la requête HTTP GET, vous devez définir explicitement le format de réponse du jeton d’accès sur json.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="HttpBinding">GET</Item>
<Item Key="AccessTokenResponseFormat">json</Item>

L’exemple suivant illustre une réponse de point de terminaison de jeton au format JSON :

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...",
    "token_type": "Bearer",
    "not_before": 1637924390,
    "expires_in": 960000,
}

Configurer la méthode d’authentification

Les demandes adressées au point de terminaison de jeton requièrent toujours une authentification. Par défaut, Azure AD B2C fournit au fournisseur d’identité les informations d’identification du client. Par défaut, la méthode d’authentification est client_secret_post, et inclut les informations d’identification du client (client_id et client_secret) dans le corps de la demande.

La requête HTTP suivante au point de terminaison de jeton contient les valeurs client_id et client_secret dans les données de la requête POST. Pour les requêtes GET, les valeurs client_id et client_secret sont incluses dans les paramètres de chaîne de requête.

POST /oauth2/token

client_id=abcd&client_secret=1234&redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fcontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

Pour les fournisseurs d’identité qui requièrent l’utilisation d’une authentification de base HTTP auprès de leur point de terminaison /token, configurez les métadonnées token_endpoint_auth_method sur client_secret_basic. Avec ce type de méthode d’authentification, les informations d’identification du client sont transmises au fournisseur d’identité à l’aide du schéma d’authentification de base HTTP.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="token_endpoint_auth_method">client_secret_basic</Item>

La requête HTTP suivante illustre un appel au point de terminaison de jeton avec une authentification de base HTTP. L’en-tête d’autorisation contient l’ID client et la clé secrète client, au format client_ID:client_secret codé en base 64.

POST /oauth2/token

Authorization: Basic YWJjZDoxMjM0

redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

Pour les fournisseurs d’identité qui prennent en charge l’authentification JWT à clé privée, configurez les métadonnées token_endpoint_auth_method sur private_key_jwt. Avec ce type de méthode d’authentification, le certificat fourni à Azure AD B2C est utilisé pour générer une assertion signée qui est transmise au fournisseur d’identité via le paramètre client_assertion. client_assertion_type défini sur urn:ietf:params:oauth:client-assertion-type:jwt-bearer. Les métadonnées token_signing_algorithm spécifient l’algorithme de signature du jeton JWT.

<Item Key="AccessTokenEndpoint">https://contoso.com/oauth2/token</Item>
<Item Key="token_endpoint_auth_method">private_key_jwt</Item>
<Item Key="token_signing_algorithm">RS256</Item>

La requête HTTP suivante illustre un appel au point de terminaison de jeton à l’aide de l’authentification JWT à clé privée.

POST /oauth2/token

client_assertion=eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiIsImtpZCI6IjJFRFg0dWRYeDIxbXNoaXdJVzczMUY3OUZSbFJiUDZXVXJyZmktR1RFeVkifQ.eyJpc3MiOiJhYmNkIiwiZXhwIjoxNjM3OTI5ODY0LCJuYmYiOjE2Mzc5Mjk1NjQsImF1ZCI6Imh0dHBzOi8vNWRlNC0xMDktNjQtMTI0LTUzLm5ncm9rLmlvL2FjY2Vzc190b2tlbiIsImp0aSI6IjVxQWlGV2lEODNDbU1KWWNrejBRdGc9PSIsInN1YiI6ImFiY2QiLCJpYXQiOjE2Mzc5Mjk1NjR9.C4OtRnrLaQatpT5LP45O5Nb418S4v8yZi_C42ld440w&client_id=abcd&client_assertion_type=urn%3aietf%3aparams%3aoauth%3aclient-assertion-type%3ajwt-bearer&redirect_uri=https%3a%2f%2fcontoso.b2clogin.com%2fcontoso.onmicrosoft.com%2foauth2%2fauthresp&code=12345&grant_type=authorization_code

Métadonnées du point de terminaison d’informations utilisateur

Une fois qu’Azure AD B2C obtient le jeton d’accès du fournisseur d’identité OAuth2, il effectue un appel au point de terminaison d’informations utilisateur. Le point de terminaison d’informations utilisateur, également appelé point de terminaison de revendications, est conçu pour récupérer les revendications relatives à l’utilisateur authentifié. Azure AD B2C utilise l’authentification par jeton du porteur pour s’authentifier auprès du point de terminaison d’informations utilisateur des fournisseurs d’identité. Le jeton du porteur est le jeton d’accès que Azure AD B2C obtient du point de terminaison /token des fournisseurs d’identité.

La demande adressée au point de terminaison d’informations utilisateur est toujours une requête HTTP GET. Le jeton d’accès est envoyé dans un paramètre de chaîne de requête nommé access_token. La requête HTTP suivante montre un appel au point de terminaison d’informations utilisateur avec le jeton d’accès dans le paramètre de chaîne de requête.

GET /oauth2/claims?access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5... 

Le tableau suivant répertorie les métadonnées du point de terminaison d’informations utilisateur.

Attribut Obligatoire Description
ClaimsEndpoint Oui URL du point de terminaison d’informations utilisateur. Par exemple : https://api.linkedin.com/v2/me.
ClaimsEndpointAccessTokenName Non Nom du paramètre de chaîne de requête du jeton accès. Valeur par défaut : access_token.
ClaimsEndpointFormatName Non Nom du paramètre de chaîne de requête de format. Par exemple, vous pouvez définir le nom en tant que format dans ce point de terminaison de revendications LinkedIn https://api.linkedin.com/v1/people/~?format=json.
ClaimsEndpointFormat Non Valeur du paramètre de chaîne de requête de format. Par exemple, vous pouvez définir la valeur en tant que json dans ce point de terminaison de revendications LinkedIn https://api.linkedin.com/v1/people/~?format=json.
BearerTokenTransmissionMethod Non Spécifie la façon dont le jeton est envoyé. La méthode par défaut est une chaîne de requête. Pour envoyer le jeton comme en-tête de demande, définissez-le sur AuthorizationHeader.
ExtraParamsInClaimsEndpointRequest Non Contient les paramètres supplémentaires qui peuvent être retournés dans la demande ClaimsEndpoint par certains fournisseurs d’identité. S’il y a plusieurs noms de paramètre, ils doivent être échappés et séparés par le délimiteur virgule « , ».

Configurer le paramètre de chaîne de requête du jeton accès

Le point de terminaison d’informations utilisateur peut nécessiter l’envoi du jeton d’accès dans un paramètre de chaîne de requête particulier. Pour modifier le nom du paramètre de chaîne de requête contenant le jeton d’accès, utilisez les métadonnées ClaimsEndpointAccessTokenName. Dans l’exemple suivant, le paramètre de chaîne de requête de jeton d’accès a la valeur token.

<Item Key="ClaimsEndpoint">https://contoso.com/oauth2/claims</Item>
<Item Key="ClaimsEndpointAccessTokenName">token</Item>

L’appel HTTP suivant montre un appel au point de terminaison d’informations utilisateur avec ClaimsEndpointAccessTokenName défini sur token :

GET /oauth2/claims?token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...

Configurer le format des revendications

Les valeurs ClaimsEndpointFormatName et ClaimsEndpointFormat vous permettent d’envoyer un paramètre de chaîne de requête de paire clé-valeur au point de terminaison d’informations utilisateur. L’exemple suivant configure un paramètre de chaîne de requête nommé format avec la valeur de json.

<Item Key="ClaimsEndpoint">https://contoso.com/oauth2/claims</Item>
<Item Key="ClaimsEndpointFormatName">format</Item>
<Item Key="ClaimsEndpointFormat">json</Item>

Le requête HTTP suivante montre un appel au point de terminaison d’informations utilisateur avec ClaimsEndpointFormatName et ClaimsEndpointFormat configurés.

GET /oauth2/claims?format=json&access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...

Configurer la méthode de transmission de jeton du porteur

Par défaut, le jeton d’accès est envoyé au point de terminaison d’informations utilisateur des fournisseurs d’identité via un paramètre de chaîne de requête. Pour envoyer le jeton dans l’en-tête HTTP Authorization, définissez les métadonnées BearerTokenTransmissionMethod sur AuthorizationHeader.

<Item Key="ClaimsEndpoint">https://contoso.com/oauth2/claims</Item>
<Item Key="BearerTokenTransmissionMethod">AuthorizationHeader</Item>

La requête HTTP suivante montre comment le jeton d’accès est transmis quand BearerTokenTransmissionMethod a la valeur AuthorizationHeader.

GET /oauth2/claims

Authorization: Bearer eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...

Transmettre les paramètres retournés par le point de terminaison de jeton

Certains fournisseurs d’identité exigent de transmettre des paramètres supplémentaires retournés à partir du point de terminaison de jeton au point de terminaison d’informations utilisateur. Par exemple, la réponse du point de terminaison de jeton contient un paramètre nommé resource qui est un paramètre obligatoire du point de terminaison d’informations utilisateur (en plus du jeton d’accès). Utilisez les métadonnées ExtraParamsInClaimsEndpointRequest pour spécifier les paramètres supplémentaires à transmettre. S’il y a plusieurs noms de paramètre, ils doivent être échappés et séparés par le délimiteur virgule « , ».

Le JSON suivant montre une charge utile JSON retournée par le point de terminaison de jeton avec un paramètre nommé resource.

{
    "access_token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...",
    "token_type": "Bearer",
    "not_before": 1549647431,
    "expires_in": 960000,
    "resource": "f2a76e08-93f2-4350-833c-965c02483b11"
}

Pour transmettre le paramètre resource au point de terminaison d’informations utilisateur, ajoutez les métadonnées suivantes :

<Item Key="ExtraParamsInClaimsEndpointRequest">resource</Item>

La requête HTTP suivante montre comment le paramètre resource est transmis au point de terminaison d’informations utilisateur.

GET /oauth2/claims?resource=f2a76e08-93f2-4350-833c-965c02483b11&access_token=eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IlBFcG5...

Terminer le point de terminaison de session

Pour déconnecter l’utilisateur de l’application, redirigez-le vers le point de terminaison de déconnexion Azure AD B2C (pour OAuth2 et OpenID Connecter) ou envoyez un LogoutRequest (pour SAML). Azure AD B2C efface la session de l’utilisateur du navigateur. Lors d’une demande de déconnexion, Azure AD B2C tente de se déconnecter de tous les fournisseurs d’identité fédérés auxquels l’utilisateur peut être connecté. L’URI de déconnexion du fournisseur d’identité OAuth2 est configuré dans les métadonnées end_session_endpoint. Quand l’utilisateur se déconnecte de votre application via Azure AD B2C, un iframe masqué est créé, qui appelle le end_session_endpoint à sa page de déconnexion Azure AD B2C.

Le tableau suivant répertorie les métadonnées du point de terminaison d’informations utilisateur.

Attribut Obligatoire Description
end_session_endpoint Oui URL du point de terminaison de la session de fin, conformément à la norme RFC 6749.
SingleLogoutEnabled Non Indique si, lors de la connexion, le profil technique tente de se déconnecter des fournisseurs d’identité fédérés. Pour plus d’informations, consultez Déconnexion d’une session Azure AD B2C. Valeurs possibles : true (par défaut) ou false.

Métadonnées génériques OAuth2

Le tableau suivant répertorie les métadonnées génériques de fournisseur d’identité OAuth2. Les métadonnées décrivent la manière dont le profil technique OAuth2 gère la validation de jeton, récupère les revendications et réagit aux messages d’erreur.

Attribut Obligatoire Description
IdTokenAudience Non Audience du jeton id_token. Si la valeur est spécifiée, Azure AD B2C vérifie si le jeton figure dans une revendication retournée par le fournisseur d’identité, et est identique à celui spécifié.
ProviderName Non Nom du fournisseur d'identité.
ResponseErrorCodeParamName Non Nom du paramètre contenant le message d’erreur retourné sur HTTP 200 (OK).
IncludeClaimResolvingInClaimsHandling   Non Pour les revendications d’entrée et de sortie, spécifie si la résolution des revendications est incluse dans le profil technique. Valeurs possibles : true ou false (par défaut). Si vous souhaitez utiliser un programme de résolution des revendications dans le profil technique, définissez cette valeur sur true.
ResolveJsonPathsInJsonTokens Non Indique si le profil technique résout les chemins d’accès JSON. Valeurs possibles : true ou false (par défaut). Utilisez ces métadonnées pour lire des données issues d’un élément JSON imbriqué. Dans un élément OutputClaim, définissez PartnerClaimType sur l’élément de chemin d’accès JSON que vous souhaitez générer. Par exemple : firstName.localized ou data[0].to[0].email.

Clés de chiffrement

L’élément CryptographicKeys contient l’attribut suivant :

Attribut Obligatoire Description
client_secret Oui Clé secrète client de l’application du fournisseur d’identité. La clé de chiffrement est requise uniquement si les métadonnées response_types sont définies sur code. Dans ce cas, Azure AD B2C émet un autre appel pour échanger le code d’autorisation pour un jeton d’accès. Si les métadonnées sont définies sur id_token, vous pouvez omettre la clé de chiffrement.
assertion_signing_key Non Quand les métadonnées token_endpoint_auth_method ont la valeur private_key_jwt, fournissez un certificat x509 à utiliser pour signer la clé JWT. Cette clé doit vous être fournie par le fournisseur d’identité OAuth2.

URI de redirection

Lorsque vous configurez l’URI de redirection de votre fournisseur d’identité, entrez https://{tenant-name}.b2clogin.com/{tenant-name}.onmicrosoft.com/oauth2/authresp. Veillez à remplacer {tenant-name} par le nom de votre locataire (par exemple, contosob2c). L’URI de redirection doit être en minuscules.

Étapes suivantes