Partager via


Inscrire une application SAML dans Azure AD B2C

Important

À compter du 1er mai 2025, Azure AD B2C ne sera plus disponible pour les nouveaux clients. Pour plus d’informations, consultez notre FAQ.

Dans cet article, découvrez comment connecter vos applications SAML (Security Assertion Markup Language) à Azure Active Directory B2C (Azure AD B2C) pour l’authentification.

Avant de commencer, utilisez le sélecteur Choisir un type de stratégie en haut de cette page pour choisir le type de stratégie que vous configurez. Azure Active Directory B2C offre deux possibilités pour définir la façon dont les utilisateurs interagissent avec vos applications : via des flux utilisateurs prédéfinis ou via des stratégies personnalisées entièrement configurables. La procédure donnée dans cet article est différente pour chaque méthode.

Cette fonctionnalité est disponible uniquement pour les stratégies personnalisées. Pour les étapes de configuration, sélectionnez Stratégie personnalisée dans le sélecteur précédent.

Aperçu

Les organisations qui utilisent Azure AD B2C comme solution de gestion des identités et des accès client peuvent nécessiter une intégration avec les applications qui s’authentifient à l’aide du protocole SAML. Le diagramme suivant montre comment Azure AD B2C sert de fournisseur d’identité (IdP) pour obtenir l’authentification unique (SSO) avec des applications SAML.

Diagramme avec Azure Active Directory B2C en tant que fournisseur d’identité à gauche et en tant que fournisseur de services à droite.

  1. L’application crée une demande d’authentification SAML envoyée au point de terminaison de connexion SAML pour Azure AD B2C.
  2. L’utilisateur peut utiliser un compte local Azure AD B2C ou tout autre fournisseur d’identité fédéré (s’il est configuré) pour s’authentifier.
  3. Si l’utilisateur se connecte à l’aide d’un fournisseur d’identité fédéré, une réponse de jeton est envoyée à Azure AD B2C.
  4. Azure AD B2C génère une assertion SAML et l’envoie à l’application.

Regardez cette vidéo pour découvrir comment intégrer des applications SAML à Azure AD B2C.

Conditions préalables

Pour le scénario de cet article, vous avez besoin des éléments suivants :

  • La stratégie personnalisée SocialAndLocalAccounts d’un pack de démarrage de stratégie personnalisée. Suivez les étapes de prise en main des stratégies personnalisées dans Azure AD B2C.
  • Compréhension de base du protocole SAML et connaissance de l’implémentation SAML de l’application.
  • Application web configurée en tant qu’application SAML. Il doit avoir la possibilité d’envoyer des requêtes d’authentification SAML et de recevoir, décoder et vérifier les réponses SAML d’Azure AD B2C. L’application SAML est également appelée application de partie de confiance ou fournisseur de services.
  • Le document XML ou le point de terminaison de métadonnées SAML disponible publiquement de l’application SAML.
  • Un locataire Azure AD B2C.

Si vous n’avez pas encore d’application SAML et un point de terminaison de métadonnées associé, vous pouvez utiliser l’application de test SAML que nous avons mise à disposition pour les tests.

Important

Vos points de terminaison doivent respecter les exigences de sécurité Azure AD B2C. Les versions et les chiffrements TLS plus anciens sont déconseillés. Pour plus d’informations, consultez la configuration requise pour azure AD B2C TLS et la suite de chiffrement.

Configurer des certificats

Pour créer une relation d’approbation entre votre application et Azure AD B2C, les deux services doivent pouvoir créer et valider les signatures des uns et des autres. Configurez des certificats X509 dans votre application et dans Azure AD B2C.

Certificats d’application

Utilisation Obligatoire Descriptif
Signature de demande SAML Non Certificat avec une clé privée stockée dans votre application web. Votre application utilise le certificat pour signer les demandes SAML envoyées à Azure AD B2C. L’application web doit exposer la clé publique via son point de terminaison de métadonnées SAML. Azure AD B2C valide la signature de requête SAML à l’aide de la clé publique à partir des métadonnées de l’application.
Chiffrement d’assertion SAML Non Certificat avec une clé privée stockée dans votre application web. L’application web doit exposer la clé publique via son point de terminaison de métadonnées SAML. Azure AD B2C peut chiffrer des assertions sur votre application à l’aide de la clé publique. L’application utilise la clé privée pour déchiffrer l’assertion.

Certificats Azure AD B2C

Utilisation Obligatoire Descriptif
Signature de réponse SAML Oui Certificat avec une clé privée stockée dans Azure AD B2C. Azure AD B2C utilise ce certificat pour signer la réponse SAML envoyée à votre application. Votre application lit la clé publique de métadonnées dans Azure AD B2C pour valider la signature de la réponse SAML.
Signature d’assertion SAML Oui Certificat avec une clé privée stockée dans Azure AD B2C. Azure AD B2C utilise ce certificat pour signer la <saml:Assertion> partie de la réponse SAML.

Dans un environnement de production, nous vous recommandons d’utiliser des certificats émis par une autorité de certification publique. Toutefois, vous pouvez également effectuer cette procédure avec des certificats auto-signés.

Créer une clé de stratégie

Pour avoir une relation d’approbation entre votre application et Azure AD B2C, créez un certificat de signature pour la réponse SAML. Azure AD B2C utilise ce certificat pour signer la réponse SAML envoyée à votre application. Votre application lit la clé publique de métadonnées pour Azure AD B2C pour valider la signature de la réponse SAML.

Conseil / Astuce

Vous pouvez utiliser cette clé de stratégie à d’autres fins, telles que la signature de l’assertion SAML.

Obtenir un certificat

Si vous n’avez pas encore de certificat, vous pouvez utiliser un certificat auto-signé. Un certificat auto-signé est un certificat de sécurité qui n’est pas signé par une autorité de certification et qui n’offre pas les garanties de sécurité d’un certificat signé par une autorité de certification.

Sur Windows, utilisez l’applet de commande New-SelfSignedCertificate dans PowerShell pour générer un certificat.

  1. Exécutez la commande PowerShell suivante pour générer un certificat auto-signé. Modifiez l’argument -Subject comme il convient pour votre application et le nom de locataire Azure AD B2C, comme contosowebapp.contoso.onmicrosoft.com. Vous pouvez également ajuster la date de -NotAfter pour spécifier un délai d’expiration différent pour le certificat.

    New-SelfSignedCertificate `
        -KeyExportPolicy Exportable `
        -Subject "CN=yourappname.yourtenant.onmicrosoft.com" `
        -KeyAlgorithm RSA `
        -KeyLength 2048 `
        -KeyUsage DigitalSignature `
        -NotAfter (Get-Date).AddMonths(12) `
        -CertStoreLocation "Cert:\CurrentUser\My"
    
  2. Sur l’ordinateur Windows, recherchez et sélectionnez Gérer les certificats utilisateur

  3. Sous Certificats - Utilisateur actuel, sélectionnez Personnels>Certificats>yourappname.yourtenant.onmicrosoft.com.

  4. Sélectionnez le certificat, puis Action>All Tasks>Export.

  5. Sélectionnez Suivant>Oui, exportez la clé> privéeSuivant.

  6. Acceptez les valeurs par défaut pour Exporter le format de fichier, puis sélectionnez Suivant.

  7. Activez l’option Mot de passe , entrez un mot de passe pour le certificat, puis sélectionnez Suivant.

  8. Pour spécifier un emplacement pour enregistrer votre certificat, sélectionnez Parcourir et accédez à un répertoire de votre choix.

  9. Dans la fenêtre Enregistrer sous , entrez un nom de fichier, puis sélectionnez Enregistrer.

  10. Sélectionnez Suivant>Terminer.

Pour qu’Azure AD B2C accepte le mot de passe du fichier .pfx, celui-ci doit être chiffré à l’aide de l’option TripleDES-SHA1 de l’utilitaire d’exportation du magasin de certificats Windows, par opposition à AES256-SHA256.

Téléchargement du certificat

Vous devez stocker votre certificat dans votre locataire Azure AD B2C.

  1. Connectez-vous au portail Azure.
  2. Si vous avez accès à plusieurs tenants (locataires), sélectionnez l’icône Paramètres dans le menu supérieur pour basculer vers votre tenant Azure AD B2C à partir du menu Annuaires + abonnements.
  3. Sélectionnez Tous les services dans le coin supérieur gauche du portail Azure, puis recherchez et sélectionnez Azure AD B2C.
  4. Dans la page Vue d’ensemble , sélectionnez Identity Experience Framework.
  5. Sélectionnez Clés de stratégie, puis sélectionnez Ajouter.
  6. Pour options, sélectionnez Charger.
  7. Pour Nom, entrez un nom pour la clé de stratégie. Par exemple, entrez SamlIdpCert. Le préfixe B2C_1A_ est ajouté automatiquement au nom de votre clé.
  8. Accédez à votre fichier .pfx de certificat et sélectionnez-le avec la clé privée.
  9. Cliquez sur Créer.

Activer votre stratégie pour la connexion à une application SAML

Pour vous connecter à votre application SAML, Azure AD B2C doit pouvoir créer des réponses SAML.

Ouvrez SocialAndLocalAccounts\TrustFrameworkExtensions.xml dans le pack de démarrage de stratégie personnalisée.

Recherchez la <ClaimsProviders> section et ajoutez l’extrait de code XML suivant pour implémenter votre générateur de réponses SAML :

<ClaimsProvider>
  <DisplayName>Token Issuer</DisplayName>
  <TechnicalProfiles>

    <!-- SAML Token Issuer technical profile -->
    <TechnicalProfile Id="Saml2AssertionIssuer">
      <DisplayName>Token Issuer</DisplayName>
      <Protocol Name="SAML2"/>
      <OutputTokenFormat>SAML2</OutputTokenFormat>
      <Metadata>
        <Item Key="IssuerUri">https://issuerUriMyAppExpects</Item>
      </Metadata>
      <CryptographicKeys>
        <Key Id="SamlAssertionSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
        <Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
      </CryptographicKeys>
      <InputClaims/>
      <OutputClaims/>
      <UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-issuer"/>
    </TechnicalProfile>

    <!-- Session management technical profile for SAML-based tokens -->
    <TechnicalProfile Id="SM-Saml-issuer">
      <DisplayName>Session Management Provider</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.SamlSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
    </TechnicalProfile>

  </TechnicalProfiles>
</ClaimsProvider>

Configurer l’URI de l’émetteur de la réponse SAML

Vous pouvez modifier la valeur de l’élément IssuerUri de métadonnées dans le profil technique de l’émetteur de jeton SAML. Cette modification est reflétée dans l’attribut issuerUri retourné dans la réponse SAML d’Azure AD B2C. Configurez votre application pour accepter la même IssuerUri valeur lors de la validation de la réponse SAML.

<ClaimsProvider>
  <DisplayName>Token Issuer</DisplayName>
  <TechnicalProfiles>
    <!-- SAML Token Issuer technical profile -->
    <TechnicalProfile Id="Saml2AssertionIssuer">
      <DisplayName>Token Issuer</DisplayName>
      <Protocol Name="SAML2"/>
      <OutputTokenFormat>SAML2</OutputTokenFormat>
      <Metadata>
        <Item Key="IssuerUri">https://issuerUriMyAppExpects</Item>
      </Metadata>
      ...
    </TechnicalProfile>

Configurer votre stratégie pour émettre une réponse SAML

Maintenant que votre stratégie peut créer des réponses SAML, vous devez configurer la stratégie pour émettre une réponse SAML au lieu de la réponse JWT par défaut à votre application.

Créer une stratégie d’inscription ou de connexion configurée pour SAML

  1. Créez une copie du fichier SignUpOrSignin.xml dans le répertoire de travail de votre pack de démarrage et enregistrez-le sous un nouveau nom. Cet article utilise SignUpOrSigninSAML.xml comme exemple. Il s’agit de votre fichier de stratégie pour la partie de confiance. Il est configuré pour émettre une réponse JWT par défaut.

  2. Ouvrez le fichier SignUpOrSigninSAML.xml dans l’éditeur de votre choix.

  3. Modifiez la valeur de :

    1. PolicyId à B2C_1A_signup_signin_saml

    2. PublicPolicyUri à http://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml. Remplacez le paramètre de substitution <tenant-name> par le sous-domaine du nom de domaine de votre locataire Azure AD B2C. Par exemple, si le domaine principal de votre locataire est contoso.onmicrosoft.com, utilisez contoso. Si vous n’avez pas de nom de locataire, découvrez comment lire les détails de votre locataire.

    <TrustFrameworkPolicy
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:xsd="http://www.w3.org/2001/XMLSchema"
    xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
    PolicySchemaVersion="0.3.0.0"
    TenantId="<tenant-name>.onmicrosoft.com"
    PolicyId="B2C_1A_signup_signin_saml"
    PublicPolicyUri="http://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml">
    
  4. À la fin du parcours utilisateur, Azure AD B2C contient une SendClaims étape. Cette étape fait référence au profil technique de l’émetteur de jeton. Pour émettre une réponse SAML plutôt que la réponse JWT par défaut, modifiez l’étape SendClaims pour référencer le nouveau profil technique de l’émetteur de jeton SAML. Saml2AssertionIssuer

Ajoutez l’extrait de code XML suivant juste avant l’élément <RelyingParty> . Ce code XML remplace l’étape 7 de l’orchestration dans le parcours utilisateur SignUpOrSignIn .

Si vous avez commencé à partir d’un autre dossier dans le pack de démarrage ou que vous avez personnalisé le parcours utilisateur en ajoutant ou en supprimant des étapes d’orchestration, vérifiez que le nombre dans l’élément order correspond au nombre spécifié dans le parcours utilisateur de l’étape émetteur de jeton. Par exemple, dans les autres dossiers du pack de démarrage, le numéro d’étape correspondant est 4 pour LocalAccounts, 6 pour SocialAccountset 9 pour SocialAndLocalAccountsWithMfa.

<UserJourneys>
  <UserJourney Id="SignUpOrSignIn">
    <OrchestrationSteps>
      <OrchestrationStep Order="7" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="Saml2AssertionIssuer"/>
    </OrchestrationSteps>
  </UserJourney>
</UserJourneys>

L’élément de partie de confiance détermine le protocole utilisé par votre application. La valeur par défaut est OpenId. L’élément Protocol doit être modifié en SAML. Les revendications de sortie créent le mappage de revendications à l’assertion SAML.

Remplacez l’élément entier <TechnicalProfile> dans l’élément <RelyingParty> par le code XML de profil technique suivant.

    <TechnicalProfile Id="PolicyProfile">
      <DisplayName>PolicyProfile</DisplayName>
      <Protocol Name="SAML2"/>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="displayName" />
        <OutputClaim ClaimTypeReferenceId="givenName" />
        <OutputClaim ClaimTypeReferenceId="surname" />
        <OutputClaim ClaimTypeReferenceId="email" DefaultValue="" />
        <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="" />
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="objectId"/>
      </OutputClaims>
      <SubjectNamingInfo ClaimType="objectId" ExcludeAsClaim="true"/>
    </TechnicalProfile>

Votre fichier de stratégie final pour la partie prenante de confiance doit ressembler à l'exemple de code XML suivant :

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<TrustFrameworkPolicy
  xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xmlns:xsd="http://www.w3.org/2001/XMLSchema"
  xmlns="http://schemas.microsoft.com/online/cpim/schemas/2013/06"
  PolicySchemaVersion="0.3.0.0"
  TenantId="contoso.onmicrosoft.com"
  PolicyId="B2C_1A_signup_signin_saml"
  PublicPolicyUri="http://contoso.onmicrosoft.com/B2C_1A_signup_signin_saml">

  <BasePolicy>
    <TenantId>contoso.onmicrosoft.com</TenantId>
    <PolicyId>B2C_1A_TrustFrameworkExtensions</PolicyId>
  </BasePolicy>

  <UserJourneys>
    <UserJourney Id="SignUpOrSignIn">
      <OrchestrationSteps>
        <OrchestrationStep Order="7" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="Saml2AssertionIssuer"/>
      </OrchestrationSteps>
    </UserJourney>
  </UserJourneys>

  <RelyingParty>
    <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
    <TechnicalProfile Id="PolicyProfile">
      <DisplayName>PolicyProfile</DisplayName>
      <Protocol Name="SAML2"/>
      <OutputClaims>
        <OutputClaim ClaimTypeReferenceId="displayName" />
        <OutputClaim ClaimTypeReferenceId="givenName" />
        <OutputClaim ClaimTypeReferenceId="surname" />
        <OutputClaim ClaimTypeReferenceId="email" DefaultValue="" />
        <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="" />
        <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="objectId"/>
      </OutputClaims>
      <SubjectNamingInfo ClaimType="objectId" ExcludeAsClaim="true"/>
    </TechnicalProfile>
  </RelyingParty>
</TrustFrameworkPolicy>

Remarque

Vous pouvez suivre ce même processus pour implémenter d’autres types de flux utilisateur (par exemple : connexion, réinitialisation de mot de passe ou flux de modification de profil).

Téléversez votre politique

Enregistrez vos modifications et chargez les nouveaux fichiers de stratégieTrustFrameworkExtensions.xml et SignUpOrSigninSAML.xml sur le portail Azure.

Tester les métadonnées SAML d’IdP Azure AD B2C

Une fois les fichiers de stratégie chargés, Azure AD B2C utilise les informations de configuration pour générer le document de métadonnées SAML du fournisseur d’identité que l’application utilisera. Le document de métadonnées SAML contient les emplacements des services, tels que les méthodes de connexion, les méthodes de déconnexion et les certificats.

Les métadonnées de stratégie Azure AD B2C sont disponibles à l’URL suivante :

https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/samlp/metadata

Remplacez <tenant-name> par le nom de votre locataire Azure AD B2C. Remplacez <policy-name> par le nom (ID) de la stratégie. Voici un exemple :

https://contoso.b2clogin.com/contoso.onmicrosoft.com/B2C_1A_signup_signin_saml/samlp/metadata

Inscrire votre application SAML dans Azure AD B2C

Pour qu’Azure AD B2C approuve votre application, vous créez une inscription d’application Azure AD B2C. L’inscription contient des informations de configuration, telles que le point de terminaison de métadonnées de l’application.

  1. Connectez-vous au portail Azure.
  2. Si vous avez accès à plusieurs tenants (locataires), sélectionnez l’icône Paramètres dans le menu supérieur pour basculer vers votre tenant Azure AD B2C à partir du menu Annuaires + abonnements.
  3. Dans le menu de gauche, sélectionnez Azure AD B2C. Vous pouvez également sélectionner Tous les services , puis rechercher et sélectionner Azure AD B2C.
  4. Sélectionnez Inscriptions d'applications, puis sélectionnez Nouvelle inscription.
  5. Entrez un nom pour l’application. Par exemple, entrez SAMLApp1.
  6. Sous Types de comptes pris en charge, sélectionnez Comptes dans cet annuaire organisationnel uniquement.
  7. Sous URI de redirection, sélectionnez Web, puis entrez https://localhost. Vous modifiez cette valeur ultérieurement dans le manifeste de l’inscription de l’application.
  8. Sélectionnez Inscrire.

Configurer votre application dans Azure AD B2C

Pour les applications SAML, vous devez configurer plusieurs propriétés dans le manifeste de l’inscription d’application.

  1. Dans le portail Azure, accédez à l’inscription d’application que vous avez créée dans la section précédente.
  2. Sous Gérer, sélectionnez Manifeste pour ouvrir l’éditeur de manifeste. Modifiez ensuite les propriétés décrites dans les sections suivantes.

Ajouter l’identificateur

Lorsque votre application SAML envoie une requête à Azure AD B2C, la demande d’authentification SAML inclut un Issuer attribut. La valeur de cet attribut est généralement la même que la valeur des métadonnées entityID de l’application. Azure AD B2C utilise cette valeur pour rechercher l’inscription de l’application dans le répertoire et lire la configuration. Pour que cette recherche réussisse, identifierUri dans l’inscription de l’application doit être remplie avec une valeur qui correspond à l’attribut Issuer .

Dans le manifeste d’inscription, recherchez le identifierURIs paramètre et ajoutez la valeur appropriée. Cette valeur sera la même que celle configurée dans les requêtes d’authentification SAML pour EntityId au niveau de l’application, et que la valeur entityID dans les métadonnées de l’application. Vous devez également rechercher le accessTokenAcceptedVersion paramètre et définir la valeur sur 2.

Important

Si vous ne mettez pas à jour le accessTokenAcceptedVersion vers 2, vous recevrez un message d'erreur demandant un domaine vérifié.

L’exemple suivant montre la entityID valeur dans les métadonnées SAML :

<EntityDescriptor ID="id123456789" entityID="https://samltestapp2.azurewebsites.net" validUntil="2099-12-31T23:59:59Z" xmlns="urn:oasis:names:tc:SAML:2.0:metadata">

La identifierUris propriété accepte uniquement les URL sur le domaine tenant-name.onmicrosoft.com.

"identifierUris":"https://tenant-name.onmicrosoft.com/app-name",

Partager les métadonnées de l’application avec Azure AD B2C

Une fois l’inscription d’application chargée par sa valeur identifierUri, Azure AD B2C utilise les métadonnées de l’application pour valider la demande d’authentification SAML et déterminer comment répondre.

Nous vous recommandons d’exposer un point de terminaison de métadonnées accessible publiquement.

S’il existe des propriétés spécifiées à la fois dans l’URL des métadonnées SAML et dans le manifeste de l’inscription de l’application, elles sont fusionnées. Les propriétés spécifiées dans l’URL des métadonnées sont traitées en premier et sont prioritaires.

À l’aide de l’application de test SAML comme exemple, vous utiliserez la valeur suivante dans samlMetadataUrl le manifeste de l’application :

"samlMetadataUrl":"https://samltestapp2.azurewebsites.net/Metadata",

Remplacer ou définir l’URL du consommateur d’assertion (facultatif)

Vous pouvez configurer l’URL de réponse à laquelle Azure AD B2C envoie des réponses SAML. Les URL de réponse peuvent être configurées dans le manifeste de l’application. Cette configuration est utile lorsque votre application n’expose pas de point de terminaison de métadonnées accessible publiquement.

L’URL de réponse d’une application SAML est le point de terminaison auquel l’application s’attend à recevoir des réponses SAML. L’application fournit généralement cette URL dans le document de métadonnées en tant qu’attribut Location de l’élément AssertionConsumerService , comme illustré dans cet exemple :

<SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
    ...
    <AssertionConsumerService index="0" isDefault="true" Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://samltestapp2.azurewebsites.net/SP/AssertionConsumer" />        
</SPSSODescriptor>

Si l’élément de métadonnées AssertionConsumerService de l’application est manquant ou que vous souhaitez le remplacer, configurez la propriété manifeste replyUrlsWithType d’inscription de l’application. Azure AD B2C utilise le replyUrlsWithType pour rediriger les utilisateurs après qu'ils se sont connectés à l'aide du type de liaison HTTP-POST.

Pour utiliser l'application de test SAML comme exemple, vous devez définir la propriété url de replyUrlsWithType à la valeur indiquée dans l’extrait de code JSON suivant :

"replyUrlsWithType":[
  {
    "url":"https://samltestapp2.azurewebsites.net/SP/AssertionConsumer",
    "type":"Web"
  }
],

Remplacer ou définir l’URL de déconnexion (facultatif)

L’URL de déconnexion définit où rediriger l’utilisateur après une demande de déconnexion. L’application fournit généralement cette URL dans le document de métadonnées en tant qu’attribut Location de l’élément SingleLogoutService , comme illustré dans l’exemple suivant :

<SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
    <SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://samltestapp2.azurewebsites.net/logout" ResponseLocation="https://samltestapp2.azurewebsites.net/logout" />

</SPSSODescriptor>

Si l’élément de métadonnées SingleLogoutService de l’application est manquant, configurez la propriété manifeste logoutUrl d’inscription de l’application. Azure AD B2C utilise logoutURL pour rediriger les utilisateurs une fois qu’ils sont déconnectés avec le type de liaison HTTP-Redirect.

En utilisant l'application de test SAML comme exemple, vous devez définir la propriété logoutUrl sur https://samltestapp2.azurewebsites.net/logout.

"logoutUrl": "https://samltestapp2.azurewebsites.net/logout",

Remarque

Si vous choisissez de configurer l’URL de réponse et l’URL de déconnexion dans le manifeste de l’application sans remplir le point de terminaison de métadonnées de l’application via la samlMetadataUrl propriété, Azure AD B2C ne valide pas la signature de requête SAML. Il ne chiffre pas non plus la réponse SAML.

Configurer Azure AD B2C en tant qu’IdP SAML dans votre application SAML

La dernière étape consiste à activer Azure AD B2C en tant qu’IDP SAML dans votre application SAML. Chaque application est différente et les étapes varient. Pour plus d’informations, consultez la documentation de votre application.

Les métadonnées peuvent être configurées dans votre application en tant que métadonnées statiques ou métadonnées dynamiques. En mode statique, copiez toutes ou partie des métadonnées à partir des métadonnées de stratégie Azure AD B2C. En mode dynamique, fournissez l’URL des métadonnées et autorisez votre application à lire les métadonnées de manière dynamique.

Certaines ou toutes les opérations suivantes sont généralement requises :

  • Métadonnées : utilisez le format https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/Samlp/metadata.

  • Émetteur : la valeur de issuer la requête SAML doit correspondre à l’une des URI configurées dans l’élément identifierUris du manifeste d’inscription de l’application. Si le issuer nom de la requête SAML n’existe pas dans l’élément identifierUris, ajoutez-le au manifeste d’inscription de l’application. Par exemple : https://contoso.onmicrosoft.com/app-name.

  • URL de connexion, point de terminaison SAML, URL SAML : vérifiez la valeur dans le fichier de métadonnées de stratégie SAML Azure AD B2C pour l’élément <SingleSignOnService> XML.

  • Certificat : ce certificat est B2C_1A_SamlIdpCert, mais sans la clé privée. Pour obtenir la clé publique du certificat :

    1. Accédez à l’URL de métadonnées spécifiée précédemment.
    2. Copiez la valeur dans l’élément <X509Certificate> .
    3. Collez-le dans un fichier texte.
    4. Enregistrez le fichier texte sous la forme d’un fichier .cer .

Tester avec l’application de test SAML

Vous pouvez utiliser notre application de test SAML pour tester votre configuration :

  • Mettez à jour le nom du locataire.
  • Mettez à jour le nom de la stratégie. Par exemple, utilisez B2C_1A_signup_signin_adfs.
  • Spécifiez l’URI de l’émetteur. Utilisez l'une des URI trouvées dans l'élément identifierUris du manifeste d'inscription de l'application. Par exemple, utilisez https://contoso.onmicrosoft.com/app-name.

Sélectionnez Connexion et un écran de connexion utilisateur doit s’afficher. Une fois connecté, une réponse SAML est renvoyée à l’application de démonstration.

Modalités SAML prises en charge et non prises en charge

Les scénarios d’application SAML suivants sont pris en charge via votre propre point de terminaison de métadonnées :