Een SAML-toepassing registreren in Azure AD B2C

In dit artikel leert u hoe u uw SAML-toepassingen (Security Assertion Markup Language) verbindt met Azure Active Directory B2C (Azure AD B2C) voor verificatie.

Voordat u begint, gebruikt u de selector Een beleidstype kiezen om het type beleid te kiezen dat u instelt. U kunt in Azure Active Directory B2C op twee manieren definiëren hoe gebruikers met uw toepassingen communiceren: via vooraf gedefinieerde gebruikersstromen of via volledig configureerbaar aangepast beleid. De stappen die in dit artikel zijn vereist, verschillen voor elke methode.

Deze functie is alleen beschikbaar voor aangepast beleid. Voor configuratiestappen selecteert u Aangepast beleid in de voorgaande selector.

Overzicht

Organisaties die Azure AD B2C gebruiken als hun oplossing voor klantidentiteit en toegangsbeheer, vereisen mogelijk integratie met toepassingen die worden geverifieerd met behulp van het SAML-protocol. In het volgende diagram ziet u hoe Azure AD B2C fungeert als id-provider (IdP) voor eenmalige aanmelding (SSO) met op SAML gebaseerde toepassingen.

Diagram with Azure Active Directory B2C as an identity provider on the left and as a service provider on the right.

  1. De toepassing maakt een SAML AuthN-aanvraag die wordt verzonden naar het SAML-aanmeldingseindpunt voor Azure AD B2C.
  2. De gebruiker kan een lokaal Azure AD B2C-account of een andere federatieve id-provider (indien geconfigureerd) gebruiken om te verifiëren.
  3. Als de gebruiker zich aanmeldt met behulp van een federatieve id-provider, wordt er een tokenantwoord verzonden naar Azure AD B2C.
  4. Azure AD B2C genereert een SAML-assertie en verzendt deze naar de toepassing.

Bekijk deze video voor meer informatie over het integreren van SAML-toepassingen met Azure AD B2C.

Vereisten

Voor het scenario in dit artikel hebt u het volgende nodig:

  • Het aangepaste beleid SocialAndLocalAccounts van een aangepast starterspakket voor beleid. Voer de stappen in Aan de slag met aangepaste beleidsregels in Azure AD B2C uit.
  • Basiskennis van het SAML-protocol en bekendheid met de SAML-implementatie van de toepassing.
  • Een webtoepassing die is geconfigureerd als een SAML-toepassing. Het moet de mogelijkheid hebben om SAML AuthN-aanvragen te verzenden en SAML-antwoorden te ontvangen, decoderen en verifiëren vanuit Azure AD B2C. De SAML-toepassing wordt ook wel de relying party-toepassing of serviceprovider genoemd.
  • Het openbaar beschikbare SAML-metagegevenseindpunt of XML-document van de SAML-toepassing.
  • Een Azure AD B2C-tenant.

Als u nog geen SAML-toepassing en een gekoppeld metagegevenseindpunt hebt, kunt u de SAML-testtoepassing gebruiken die we beschikbaar hebben gesteld voor testen.

Belangrijk

Uw eindpunten moeten voldoen aan de Azure AD B2C-beveiligingsvereisten. Oudere TLS-versies en -coderingen zijn afgeschaft. Zie Vereisten voor Azure AD B2C TLS en suites met coderingsmethoden voor meer informatie.

Certificaten instellen

Als u een vertrouwensrelatie tussen uw toepassing en Azure AD B2C wilt bouwen, moeten beide services elkaars handtekeningen kunnen maken en valideren. Configureer X509-certificaten in uw toepassing en in Azure AD B2C.

Toepassingscertificaten

Gebruik Vereist Beschrijving
SAML-aanvraagondertekening Nee Een certificaat met een persoonlijke sleutel die is opgeslagen in uw web-app. Uw toepassing gebruikt het certificaat om SAML-aanvragen te ondertekenen die naar Azure AD B2C worden verzonden. De web-app moet de openbare sleutel beschikbaar maken via het SAML-metagegevenseindpunt. Azure AD B2C valideert de SAML-aanvraaghandtekening met behulp van de openbare sleutel uit de metagegevens van de toepassing.
SAML-assertieversleuteling Nee Een certificaat met een persoonlijke sleutel die is opgeslagen in uw web-app. De web-app moet de openbare sleutel beschikbaar maken via het SAML-metagegevenseindpunt. Azure AD B2C kan asserties versleutelen naar uw toepassing met behulp van de openbare sleutel. De toepassing gebruikt de persoonlijke sleutel om de assertie te ontsleutelen.

Azure AD B2C-certificaten

Gebruik Vereist Beschrijving
SAML-antwoordondertekening Ja Een certificaat met een persoonlijke sleutel die is opgeslagen in Azure AD B2C. Azure AD B2C gebruikt dit certificaat om het SAML-antwoord te ondertekenen dat naar uw toepassing is verzonden. Uw toepassing leest de openbare metagegevenssleutel in Azure AD B2C om de handtekening van het SAML-antwoord te valideren.
SAML-assertieondertekening Ja Een certificaat met een persoonlijke sleutel die is opgeslagen in Azure AD B2C. Azure AD B2C gebruikt dit certificaat om het <saml:Assertion> deel van het SAML-antwoord te ondertekenen.

In een productieomgeving raden we u aan certificaten te gebruiken die een openbare certificeringsinstantie heeft uitgegeven. U kunt deze procedure echter ook uitvoeren met zelfondertekende certificaten.

Een beleidssleutel maken

Als u een vertrouwensrelatie tussen uw toepassing en Azure AD B2C wilt hebben, maakt u een handtekeningcertificaat voor het SAML-antwoord. Azure AD B2C gebruikt dit certificaat om het SAML-antwoord te ondertekenen dat naar uw toepassing is verzonden. Uw toepassing leest de openbare metagegevenssleutel voor Azure AD B2C om de handtekening van het SAML-antwoord te valideren.

Fooi

U kunt deze beleidssleutel gebruiken voor andere doeleinden, zoals het ondertekenen van de SAML-assertie.

Een certificaat verkrijgen

Als u nog geen certificaat hebt, kunt u een zelfondertekend certificaat gebruiken. Een zelfondertekend certificaat is een beveiligingscertificaat dat niet is ondertekend door een certificeringsinstantie (CA) en geen beveiligingsgaranties biedt van een certificaat dat is ondertekend door een CA.

Gebruik in Windows de cmdlet New-SelfSignedCertificate in PowerShell om een certificaat te genereren.

  1. Voer de volgende PowerShell-opdracht uit om een zelfondertekend certificaat te genereren. Wijzig indien van toepassing het argument -Subject voor uw toepassing en de Azure AD B2C-tenantnaam, zoals contosowebapp.contoso.onmicrosoft.com. U kunt ook de -NotAfter-datum aanpassen om een andere vervaldatum voor het certificaat op te geven.

    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. Ga op een Windows-computer naar Gebruikerscertificaten beheren en selecteer dit

  3. Selecteer onder Certificaten - huidige gebruiker de optie Persoonlijk>Certificaten>yourappname.yourtenant.onmicrosoft.com.

  4. Selecteer het certificaat en vervolgens Actie>Alle taken>Exporteren.

  5. Selecteer Volgende>Ja, exporteer de persoonlijke sleutel>Volgende.

  6. Accepteer de standaardwaarden voor Exportbestandsindeling en selecteer vervolgens Volgende.

  7. Schakel de optie Wachtwoord in, voer een wachtwoord in voor het certificaat en selecteer vervolgens Volgende.

  8. Als u een locatie wilt opgeven om uw certificaat in op te slaan, selecteert u Bladeren en navigeert u naar de gewenste map.

  9. Voer in het venster Opslaan als een bestandsnaam in en selecteer vervolgens Opslaan.

  10. Selecteer Volgende>voltooien.

Azure AD B2C accepteert alleen het PFX-bestandswachtwoord als het wachtwoord is versleuteld met de TripleDES-SHA1-optie in het hulpprogramma voor het exporteren vanuit het Windows-certificaatarchief, in plaats van AES256-SHA256.

Het certificaat uploaden

U moet uw certificaat opslaan in uw Azure AD B2C-tenant.

  1. Meld u aan bij de Azure-portal.
  2. Als u toegang hebt tot meerdere tenants, selecteert u het pictogram Instellingen in het bovenste menu om over te schakelen naar uw Azure AD B2C-tenant in het menu Mappen en abonnementen.
  3. Selecteer Alle services in de linkerbovenhoek van Azure Portal en zoek en selecteer Vervolgens Azure AD B2C.
  4. Selecteer Identity Experience Framework op de pagina Overzicht.
  5. Selecteer Beleidssleutels en vervolgens Toevoegen.
  6. Selecteer Uploaden voor Opties.
  7. Voer bij Naam een naam in voor de beleidssleutel. Voer bijvoorbeeld SamlIdpCert in. Het voorvoegsel B2C_1A_ wordt automatisch toegevoegd aan de naam van uw sleutel.
  8. Blader naar het PFX-certificaatbestand en selecteer het bestand met de persoonlijke sleutel.
  9. Selecteer Maken.

Uw beleid inschakelen om verbinding te maken met een SAML-toepassing

Als u verbinding wilt maken met uw SAML-toepassing, moet Azure AD B2C SAML-antwoorden kunnen maken.

Open SocialAndLocalAccounts\TrustFrameworkExtensions.xml in het aangepaste starterspakket voor beleid.

Zoek de <ClaimsProviders> sectie en voeg het volgende XML-fragment toe om uw SAML-antwoordgenerator te implementeren:

<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>

De URI van de verlener van het SAML-antwoord configureren

U kunt de waarde van het IssuerUri metagegevensitem in het technische profiel samL-tokenverlener wijzigen. Deze wijziging wordt doorgevoerd in het issuerUri kenmerk dat wordt geretourneerd in het SAML-antwoord van Azure AD B2C. Configureer uw toepassing om dezelfde IssuerUri waarde te accepteren tijdens validatie van SAML-antwoorden.

<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>

Uw beleid configureren om een SAML-antwoord uit te geven

Nu uw beleid SAML-antwoorden kan maken, moet u het beleid configureren om een SAML-antwoord uit te geven in plaats van het standaard-JWT-antwoord op uw toepassing.

Een registratie- of aanmeldingsbeleid maken dat is geconfigureerd voor SAML

  1. Maak een kopie van het SignUpOrSignin.xml-bestand in de werkmap van uw starterspakket en sla het op met een nieuwe naam. In dit artikel wordt SignUpOrSigninSAML.xml als voorbeeld gebruikt. Dit bestand is uw beleidsbestand voor de relying party. Deze is geconfigureerd om standaard een JWT-antwoord uit te geven.

  2. Open het bestand SignUpOrSigninSAML.xml in de gewenste editor.

  3. Wijzig de waarde van:

    1. PolicyId tot en met B2C_1A_signup_signin_saml

    2. PublicPolicyUri aan http://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml. Vervang <tenant-name> de tijdelijke aanduiding door het subdomein van de domeinnaam van uw Azure AD B2C-tenant. Als uw primaire tenantdomein bijvoorbeeld is contoso.onmicrosoft.com, gebruikt u contoso. Als u uw tenantnaam niet hebt, leest u de details van uw tenant.

    <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. Aan het einde van het gebruikerstraject bevat Azure AD B2C een SendClaims stap. Deze stap verwijst naar het technische profiel tokenverlener. Als u een SAML-antwoord wilt uitgeven in plaats van het standaard-JWT-antwoord, wijzigt u de SendClaims stap om te verwijzen naar het nieuwe technische profiel samL-tokenverlener, Saml2AssertionIssuer.

Voeg het volgende XML-fragment toe vlak voor het <RelyingParty> element. Met deze XML wordt indelingsstap 7 in het gebruikerstraject SignUpOrSignIn overschreven.

Als u bent begonnen vanuit een andere map in het starterspakket of als u het gebruikerstraject hebt aangepast door indelingsstappen toe te voegen of te verwijderen, moet u ervoor zorgen dat het nummer in het order element overeenkomt met het nummer dat is opgegeven in het gebruikerstraject voor de stap van de tokenverlener. In de andere mappen met starterspakketten is het bijbehorende stapnummer bijvoorbeeld 4 voor LocalAccounts, 6 voor SocialAccountsen 9 voor SocialAndLocalAccountsWithMfa.

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

Het relying party-element bepaalt welk protocol uw toepassing gebruikt. De standaardwaarde is OpenId. Het Protocol element moet worden gewijzigd in SAML. Met de uitvoerclaims wordt de claimtoewijzing gemaakt aan de SAML-assertie.

Vervang het hele <TechnicalProfile> element in het element door de volgende XML van het <RelyingParty> technische profiel.

    <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>

Het uiteindelijke beleidsbestand voor de relying party moet eruitzien als de volgende XML-code:

<?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>

Notitie

U kunt hetzelfde proces volgen om andere typen gebruikersstromen te implementeren (bijvoorbeeld: aanmelding, wachtwoordherstel of profielbewerkingsstromen).

Uw beleid uploaden

Sla uw wijzigingen op en upload de nieuwe TrustFrameworkExtensions.xml - en SignUpOrSigninSAML.xml-beleidsbestanden naar Azure Portal.

De SAML-metagegevens van Azure AD B2C IdP testen

Nadat de beleidsbestanden zijn geüpload, gebruikt Azure AD B2C de configuratiegegevens om het SAML-metagegevensdocument van de id-provider te genereren dat door de toepassing wordt gebruikt. Het SAML-metagegevensdocument bevat de locaties van services, zoals aanmeldingsmethoden, afmeldingsmethoden en certificaten.

De metagegevens van het Azure AD B2C-beleid zijn beschikbaar op de volgende URL:

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

Vervang <tenant-name> door de naam van uw Azure AD B2C-tenant. Vervang <policy-name> door de naam (ID) van het beleid. Hier volgt een voorbeeld:

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

Uw SAML-toepassing registreren in Azure AD B2C

Voor Azure AD B2C om uw toepassing te vertrouwen, maakt u een Azure AD B2C-toepassingsregistratie. De registratie bevat configuratiegegevens, zoals het metagegevenseindpunt van de toepassing.

  1. Meld u aan bij de Azure-portal.
  2. Als u toegang hebt tot meerdere tenants, selecteert u het pictogram Instellingen in het bovenste menu om over te schakelen naar uw Azure AD B2C-tenant in het menu Mappen en abonnementen.
  3. Selecteer Azure AD B2C in het linkermenu. Of selecteer Alle services en zoek en selecteer Azure AD B2C.
  4. Selecteer App-registraties en selecteer vervolgens Nieuwe registratie.
  5. Voer een naam in voor de toepassing. Voer bijvoorbeeld SAMLApp1 in.
  6. Onder Ondersteunde accounttypen selecteert u Enkel accounts in deze organisatieadreslijst.
  7. Selecteer onder Omleidings-URI de optie Web en voer vervolgens in https://localhost. U wijzigt deze waarde later in het manifest van de toepassingsregistratie.
  8. Selecteer Registreren.

Uw toepassing configureren in Azure AD B2C

Voor SAML-apps moet u verschillende eigenschappen configureren in het manifest van de toepassingsregistratie.

  1. Ga in Azure Portal naar de toepassingsregistratie die u in de vorige sectie hebt gemaakt.
  2. Selecteer onder Beheren manifest om de manifesteditor te openen. Wijzig vervolgens de eigenschappen die in de volgende secties worden beschreven.

De id toevoegen

Wanneer uw SAML-toepassing een aanvraag indient bij Azure AD B2C, bevat de SAML-verificatieaanvraag een Issuer kenmerk. De waarde van dit kenmerk is doorgaans hetzelfde als de metagegevenswaarde entityID van de toepassing. Azure AD B2C gebruikt deze waarde om de toepassingsregistratie in de directory op te zoeken en de configuratie te lezen. Als u deze zoekopdracht wilt voltooien, identifierUri moet de registratie van de toepassing worden ingevuld met een waarde die overeenkomt met het Issuer kenmerk.

Zoek in het registratiemanifest de identifierURIs parameter en voeg de juiste waarde toe. Deze waarde is dezelfde waarde die is geconfigureerd in de SAML-verificatieaanvragen voor EntityId de toepassing en de entityID waarde in de metagegevens van de toepassing. U moet ook de accessTokenAcceptedVersion parameter zoeken en de waarde instellen op 2.

Belangrijk

Als u het accessTokenAcceptedVersion bestand niet bijwerkt, 2 ontvangt u een foutbericht waarin een geverifieerd domein is vereist.

In het volgende voorbeeld ziet u de entityID waarde in de SAML-metagegevens:

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

De identifierUris eigenschap accepteert alleen URL's in het domein tenant-name.onmicrosoft.com.

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

De metagegevens van de toepassing delen met Azure AD B2C

Nadat de toepassingsregistratie door de waarde is geladen identifierUri , gebruikt Azure AD B2C de metagegevens van de toepassing om de SAML-verificatieaanvraag te valideren en te bepalen hoe moet worden gereageerd.

Het is raadzaam dat uw toepassing een openbaar toegankelijk metagegevenseindpunt beschikbaar maakt.

Als er eigenschappen zijn opgegeven in zowel de SAML-metagegevens-URL als het manifest van de toepassingsregistratie, worden deze samengevoegd. De eigenschappen die zijn opgegeven in de metagegevens-URL worden eerst verwerkt en hebben voorrang.

Als u de SAML-testtoepassing als voorbeeld gebruikt, gebruikt u de volgende waarde in samlMetadataUrl het toepassingsmanifest:

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

De URL van de assertieconsumer overschrijven of instellen (optioneel)

U kunt de antwoord-URL configureren waarnaar Azure AD B2C SAML-antwoorden verzendt. Antwoord-URL's kunnen worden geconfigureerd in het toepassingsmanifest. Deze configuratie is handig wanneer uw toepassing geen openbaar toegankelijk metagegevenseindpunt beschikbaar maakt.

De antwoord-URL voor een SAML-toepassing is het eindpunt waarop de toepassing SAML-antwoorden verwacht te ontvangen. De toepassing levert deze URL meestal in het metagegevensdocument als het Location kenmerk van het AssertionConsumerService element, zoals wordt weergegeven in dit voorbeeld:

<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>

Als het metagegevenselement AssertionConsumerService van de toepassing ontbreekt of als u dit wilt overschrijven, configureert u de eigenschap registratiemanifest replyUrlsWithType van de toepassing. Azure AD B2C gebruikt de replyUrlsWithType omleiding van gebruikers nadat ze zijn aangemeld met het HTTP-POST bindingstype.

Als u de SAML-testtoepassing als voorbeeld gebruikt, stelt u de url eigenschap in op replyUrlsWithType de waarde die wordt weergegeven in het volgende JSON-fragment:

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

De afmeldings-URL overschrijven of instellen (optioneel)

De afmeldings-URL definieert waar de gebruiker moet worden omgeleid na een afmeldingsaanvraag. De toepassing levert deze URL meestal in het metagegevensdocument als het Location kenmerk van het SingleLogoutService element, zoals wordt weergegeven in het volgende voorbeeld:

<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>

Als het metagegevenselement SingleLogoutService van de toepassing ontbreekt, configureert u de eigenschap registratiemanifest logoutUrl van de toepassing. Azure AD B2C gebruikt de logoutURL omleiding van gebruikers nadat ze zijn afgemeld met het HTTP-Redirect bindingstype.

Als u de SAML-testtoepassing als voorbeeld gebruikt, stelt u de logoutUrl eigenschap https://samltestapp2.azurewebsites.net/logoutin op:

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

Notitie

Als u ervoor kiest om de antwoord-URL en afmeldings-URL in het toepassingsmanifest te configureren zonder het metagegevenseindpunt van de toepassing via de samlMetadataUrl eigenschap in te vullen, valideert Azure AD B2C de HANDTEKENING van de SAML-aanvraag niet. Het SAML-antwoord wordt ook niet versleuteld.

Azure AD B2C configureren als EEN SAML IdP in uw SAML-toepassing

De laatste stap is het inschakelen van Azure AD B2C als SAML IdP in uw SAML-toepassing. Elke toepassing is anders en de stappen variëren. Raadpleeg de documentatie van uw app voor meer informatie.

De metagegevens kunnen in uw toepassing worden geconfigureerd als statische metagegevens of dynamische metagegevens. Kopieer in de statische modus alle of een deel van de metagegevens uit de azure AD B2C-beleidsmetagegevens. Geef in de dynamische modus de URL op naar de metagegevens en laat uw toepassing de metagegevens dynamisch lezen.

Sommige of alle volgende zijn doorgaans vereist:

  • Metagegevens: gebruik de notatie https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/Samlp/metadata.

  • Uitgever: de waarde van issuer de SAML-aanvraag moet overeenkomen met een van de URI's die zijn geconfigureerd in het identifierUris element van het toepassingsregistratiemanifest. Als de naam van issuer de SAML-aanvraag niet in het identifierUris element bestaat, voegt u deze toe aan het registratiemanifest van de toepassing. Bijvoorbeeld: https://contoso.onmicrosoft.com/app-name.

  • Aanmeldings-URL, SAML-eindpunt, SAML-URL: Controleer de waarde in het metagegevensbestand van het Azure AD B2C SAML-beleid voor het <SingleSignOnService> XML-element.

  • Certificaat: dit certificaat is B2C_1A_SamlIdpCert, maar zonder de persoonlijke sleutel. De openbare sleutel van het certificaat ophalen:

    1. Ga naar de metagegevens-URL die u eerder hebt opgegeven.
    2. Kopieer de waarde in het <X509Certificate> element.
    3. Plak deze in een tekstbestand.
    4. Sla het tekstbestand op als een CER-bestand .

Testen met de SAML-test-app

U kunt onze SAML-testtoepassing gebruiken om uw configuratie te testen:

  • Werk de naam van de tenant bij.
  • Werk de beleidsnaam bij. Gebruik bijvoorbeeld B2C_1A_signup_signin_saml.
  • Geef de URI van de verlener op. Gebruik een van de URI's in het identifierUris element in het registratiemanifest van de toepassing. Gebruik bijvoorbeeld https://contoso.onmicrosoft.com/app-name.

Selecteer Aanmelden en er moet een aanmeldingsscherm van de gebruiker worden weergegeven. Nadat u zich hebt aangemeld, wordt een SAML-antwoord teruggestuurd naar de voorbeeldtoepassing.

Ondersteunde en niet-ondersteunde SAML-modaliteiten

De volgende SAML-toepassingsscenario's worden ondersteund via uw eigen metagegevenseindpunt:

  • Geef meerdere afmeldings-URL's of POST-binding op voor de afmeldings-URL in het toepassings- of service-principalobject.
  • Geef een ondertekeningssleutel op voor het verifiëren van relying party-aanvragen in het toepassings- of service-principal-object.
  • Geef een tokenversleutelingssleutel op in het toepassings- of service-principalobject.
  • Geef door IdP geïnitieerde aanmelding op, waarbij de id-provider Azure AD B2C is.

Volgende stappen