Registrera ett SAML-program i Azure AD B2C

I den här artikeln får du lära dig hur du ansluter dina SAML-program (Security Assertion Markup Language) till Azure Active Directory B2C (Azure AD B2C) för autentisering.

Innan du börjar använder du väljaren Välj en principtyp för att välja den typ av princip som du konfigurerar. Azure Active Directory B2C erbjuder två metoder för att definiera hur användare interagerar med dina program: via fördefinierade användarflöden eller genom fullständigt konfigurerbara anpassade principer. De steg som krävs i den här artikeln skiljer sig åt för varje metod.

Den här funktionen är endast tillgänglig för anpassade principer. För installationssteg väljer du Anpassad princip i föregående väljare.

Översikt

Organisationer som använder Azure AD B2C som kundidentitets- och åtkomsthanteringslösning kan kräva integrering med program som autentiserar med hjälp av SAML-protokollet. Följande diagram visar hur Azure AD B2C fungerar som identitetsprovider (IdP) för att uppnå enkel inloggning (SSO) med SAML-baserade program.

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

  1. Programmet skapar en SAML AuthN-begäran som skickas till SAML-inloggningsslutpunkten för Azure AD B2C.
  2. Användaren kan använda ett lokalt Azure AD B2C-konto eller någon annan federerad identitetsprovider (om den är konfigurerad) för att autentisera.
  3. Om användaren loggar in med hjälp av en federerad identitetsprovider skickas ett tokensvar till Azure AD B2C.
  4. Azure AD B2C genererar en SAML-försäkran och skickar den till programmet.

Titta på den här videon om du vill lära dig hur du integrerar SAML-program med Azure AD B2C.

Förutsättningar

För scenariot i den här artikeln behöver du:

  • Den anpassade principen SocialAndLocalAccounts från ett startpaket för anpassad princip. Slutför stegen i Kom igång med anpassade principer i Azure AD B2C.
  • En grundläggande förståelse för SAML-protokollet och kunskaper om programmets SAML-implementering.
  • Ett webbprogram som konfigurerats som ett SAML-program. Den måste kunna skicka SAML AuthN-begäranden och ta emot, avkoda och verifiera SAML-svar från Azure AD B2C. SAML-programmet kallas även för den förlitande partens program eller tjänstleverantör.
  • SAML-programmets offentligt tillgängliga SAML-metadataslutpunkt eller XML-dokument.
  • En Azure AD B2C-klientorganisation.

Om du ännu inte har ett SAML-program och en associerad metadataslutpunkt kan du använda SAML-testprogrammet som vi har gjort tillgängligt för testning.

Viktigt!

Dina slutpunkter måste uppfylla säkerhetskraven för Azure AD B2C. Äldre TLS-versioner och chiffer är inaktuella. Mer information finns i Azure AD B2C TLS- och chiffersvitkrav.

Konfigurera certifikat

För att skapa en förtroenderelation mellan ditt program och Azure AD B2C måste båda tjänsterna kunna skapa och verifiera varandras signaturer. Konfigurera X509-certifikat i ditt program och i Azure AD B2C.

Programcertifikat

Användning Obligatoriskt Beskrivning
SAML-begärandesignering Inga Ett certifikat med en privat nyckel som lagras i webbappen. Ditt program använder certifikatet för att signera SAML-begäranden som skickas till Azure AD B2C. Webbappen måste exponera den offentliga nyckeln via dess SLUTpunkt för SAML-metadata. Azure AD B2C verifierar SAML-begärandesignaturen med hjälp av den offentliga nyckeln från programmets metadata.
SAML-kontrollkryptering Inga Ett certifikat med en privat nyckel som lagras i webbappen. Webbappen måste exponera den offentliga nyckeln via dess SLUTpunkt för SAML-metadata. Azure AD B2C kan kryptera intyg till ditt program med hjälp av den offentliga nyckeln. Programmet använder den privata nyckeln för att dekryptera försäkran.

Azure AD B2C-certifikat

Användning Obligatoriskt Beskrivning
SAML-svarssignering Ja Ett certifikat med en privat nyckel som lagras i Azure AD B2C. Azure AD B2C använder det här certifikatet för att signera SAML-svaret som skickas till ditt program. Programmet läser den offentliga metadatanyckeln i Azure AD B2C för att verifiera saml-svarets signatur.
SAML-kontrollsignering Ja Ett certifikat med en privat nyckel som lagras i Azure AD B2C. Azure AD B2C använder det här certifikatet för att signera delen <saml:Assertion> av SAML-svaret.

I en produktionsmiljö rekommenderar vi att du använder certifikat som en offentlig certifikatutfärdare har utfärdat. Men du kan också slutföra den här proceduren med självsignerade certifikat.

Skapa en principnyckel

Om du vill ha en förtroenderelation mellan ditt program och Azure AD B2C skapar du ett signeringscertifikat för SAML-svaret. Azure AD B2C använder det här certifikatet för att signera SAML-svaret som skickas till ditt program. Ditt program läser den offentliga metadatanyckeln för Azure AD B2C för att verifiera signaturen för SAML-svaret.

Dricks

Du kan använda den här principnyckeln för andra ändamål, till exempel att signera SAML-försäkran.

Skaffa ett certifikat

Om du inte redan har ett certifikat kan du använda ett självsignerat certifikat. Ett självsignerat certifikat är ett säkerhetscertifikat som inte är signerat av en certifikatutfärdare (CA) och som inte tillhandahåller säkerhetsgarantierna för ett certifikat som signerats av en certifikatutfärdare.

I Windows använder du cmdleten New-SelfSignedCertificate i PowerShell för att generera ett certifikat.

  1. Kör följande PowerShell-kommando för att generera ett självsignerat certifikat. -Subject Ändra argumentet efter behov för ditt program och Azure AD B2C-klientnamn, till exempel contosowebapp.contoso.onmicrosoft.com. Du kan också justera -NotAfter datumet för att ange ett annat förfallodatum för certifikatet.

    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. På Windows-datorn söker du efter och väljer Hantera användarcertifikat

  3. Under Certifikat – aktuell användare väljer du Personliga>certifikat>yourappname.yourtenant.onmicrosoft.com.

  4. Välj certifikatet och välj sedan Åtgärd>alla uppgifter>Exportera.

  5. Välj Nästa>Ja, exportera den privata nyckeln>Nästa.

  6. Acceptera standardinställningarna för Exportera filformat och välj sedan Nästa.

  7. Aktivera alternativet Lösenord , ange ett lösenord för certifikatet och välj sedan Nästa.

  8. Om du vill ange en plats för att spara certifikatet väljer du Bläddra och navigerar till valfri katalog.

  9. I fönstret Spara som anger du ett filnamn och väljer sedan Spara.

  10. Välj Nästa>Slutför.

För att Azure AD B2C ska acceptera .pfx-fillösenordet måste lösenordet krypteras med alternativet TripleDES-SHA1 i exportverktyget för Windows Certificate Store, till skillnad från AES256-SHA256.

Ladda upp certifikatet

Du måste lagra certifikatet i din Azure AD B2C-klientorganisation.

  1. Logga in på Azure-portalen.
  2. Om du har åtkomst till flera klienter väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klient från menyn Kataloger + prenumerationer.
  3. Välj Alla tjänster i det övre vänstra hörnet i Azure-portalen och sök sedan efter och välj Azure AD B2C.
  4. På sidan Översikt väljer du Identity Experience Framework.
  5. Välj Principnycklar och välj sedan Lägg till.
  6. För Alternativ väljer du Ladda upp.
  7. Som Namn anger du ett namn för principnyckeln. Ange till exempel SamlIdpCert. Prefixet B2C_1A_ läggs automatiskt till i namnet på din nyckel.
  8. Bläddra till och välj din .pfx-certifikatfil med den privata nyckeln.
  9. Välj Skapa.

Aktivera principen för att ansluta till ett SAML-program

För att kunna ansluta till ditt SAML-program måste Azure AD B2C kunna skapa SAML-svar.

Öppna SocialAndLocalAccounts\TrustFrameworkExtensions.xml i startpaketet för anpassad princip.

Leta upp avsnittet <ClaimsProviders> och lägg till följande XML-kodfragment för att implementera SAML-svarsgeneratorn:

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

Konfigurera utfärdarens URI för SAML-svaret

Du kan ändra värdet för IssuerUri metadataobjektet i den tekniska profilen för SAML Token Issuer. Den här ändringen återspeglas i attributet issuerUri som returneras i SAML-svaret från Azure AD B2C. Konfigurera programmet så att det accepterar samma IssuerUri värde under SAML-svarsverifieringen.

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

Konfigurera principen för att utfärda ett SAML-svar

Nu när principen kan skapa SAML-svar måste du konfigurera principen för att utfärda ett SAML-svar i stället för JWT-standardsvaret för ditt program.

Skapa en registrerings- eller inloggningsprincip som konfigurerats för SAML

  1. Skapa en kopia av filen SignUpOrSignin.xml i startpaketets arbetskatalog och spara den med ett nytt namn. I den här artikeln används SignUpOrSigninSAML.xml som exempel. Den här filen är din principfil för den förlitande parten. Den är konfigurerad för att utfärda ett JWT-svar som standard.

  2. Öppna filen SignUpOrSigninSAML.xml i önskad redigerare.

  3. Ändra värdet för:

    1. PolicyId till B2C_1A_signup_signin_saml

    2. PublicPolicyUri till http://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml. Ersätt <tenant-name> platshållaren med underdomänen för din Azure AD B2C-klientorganisations domännamn. Om din primära klientdomän till exempel är contoso.onmicrosoft.comanvänder du contoso. Om du inte har ditt klientnamn kan du läsa klientinformationen.

    <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. I slutet av användarresan innehåller Azure AD B2C ett SendClaims steg. Det här steget refererar till den tekniska profilen token utfärdare. Om du vill utfärda ett SAML-svar i stället för JWT-standardsvaret SendClaims ändrar du steget för att referera till den nya tekniska profilen för SAML Token Issuer, Saml2AssertionIssuer.

Lägg till följande XML-kodfragment precis före elementet <RelyingParty> . Den här XML-koden skriver över orkestrering steg 7 i användarresan SignUpOrSignIn .

Om du har startat från en annan mapp i startpaketet eller om du har anpassat användarresan genom att lägga till eller ta bort orkestreringsstegen kontrollerar du att numret i elementet order motsvarar det nummer som angavs i användarresan för token utfärdarsteget. I de andra startpaketmapparna är till exempel motsvarande stegnummer 4 för LocalAccounts, 6 för SocialAccountsoch 9 för SocialAndLocalAccountsWithMfa.

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

Det förlitande partelementet avgör vilket protokoll programmet använder. Standardvärdet är OpenId. Elementet Protocol måste ändras till SAML. Utdataanspråken skapar anspråksmappningen till SAML-försäkran.

Ersätt hela <TechnicalProfile> elementet i elementet <RelyingParty> med följande tekniska profil-XML.

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

Den sista principfilen för den förlitande parten bör se ut som följande XML-kod:

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

Kommentar

Du kan följa samma process för att implementera andra typer av användarflöden (till exempel inloggning, lösenordsåterställning eller profilredigeringsflöden).

Ladda upp din princip

Spara ändringarna och ladda upp de nya principfilerna TrustFrameworkExtensions.xml och SignUpOrSigninSAML.xml till Azure-portalen.

Testa SAML-metadata för Azure AD B2C IdP

När principfilerna har laddats upp använder Azure AD B2C konfigurationsinformationen för att generera identitetsproviderns SAML-metadatadokument som programmet ska använda. SAML-metadatadokumentet innehåller platser för tjänster, till exempel inloggningsmetoder, utloggningsmetoder och certifikat.

Azure AD B2C-principmetadata är tillgängliga på följande URL:

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

Ersätt <tenant-name> med namnet på din Azure AD B2C-klientorganisation. Ersätt <policy-name> med namnet (ID) för principen. Här är ett exempel:

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

Registrera ditt SAML-program i Azure AD B2C

För att Azure AD B2C ska kunna lita på ditt program skapar du en Azure AD B2C-programregistrering. Registreringen innehåller konfigurationsinformation, till exempel programmets metadataslutpunkt.

  1. Logga in på Azure-portalen.
  2. Om du har åtkomst till flera klienter väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klient från menyn Kataloger + prenumerationer.
  3. Välj Azure AD B2C på den vänstra menyn. Eller välj Alla tjänster och sök sedan efter och välj Azure AD B2C.
  4. Välj Appregistreringar och välj sedan Ny registrering.
  5. Ange ett namn för programmet. Ange till exempel SAMLApp1.
  6. Under Kontotyper som stöds väljer du Endast Konton i den här organisationskatalogen.
  7. Under Omdirigerings-URI väljer du Webb och anger https://localhostsedan . Du ändrar det här värdet senare i programregistreringens manifest.
  8. Välj Registrera.

Konfigurera ditt program i Azure AD B2C

För SAML-appar måste du konfigurera flera egenskaper i programregistreringens manifest.

  1. I Azure-portalen går du till programregistreringen som du skapade i föregående avsnitt.
  2. Under Hantera väljer du Manifest för att öppna manifestredigeraren. Ändra sedan de egenskaper som beskrivs i följande avsnitt.

Lägg till identifieraren

När ditt SAML-program skickar en begäran till Azure AD B2C innehåller SAML AuthN-begäran ett Issuer attribut. Värdet för det här attributet är vanligtvis detsamma som programmets metadatavärde entityID . Azure AD B2C använder det här värdet för att söka efter programregistreringen i katalogen och läsa konfigurationen. För att sökningen ska lyckas identifierUri måste programregistreringen fyllas i med ett värde som matchar Issuer attributet.

Leta reda på parametern i registreringsmanifestet identifierURIs och lägg till lämpligt värde. Det här värdet är samma värde som konfigureras i SAML AuthN-begäranden för EntityId i programmet och entityID värdet i programmets metadata. Du måste också hitta parametern accessTokenAcceptedVersion och ange värdet till 2.

Viktigt!

Om du inte uppdaterar accessTokenAcceptedVersion till 2 får du ett felmeddelande som kräver en verifierad domän.

I följande exempel visas värdet entityID i SAML-metadata:

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

Egenskapen identifierUris accepterar endast URL:er på domänen tenant-name.onmicrosoft.com.

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

Dela programmets metadata med Azure AD B2C

När programregistreringen har lästs in av dess identifierUri värde använder Azure AD B2C programmets metadata för att verifiera SAML AuthN-begäran och bestämma hur den ska svara.

Vi rekommenderar att ditt program exponerar en offentligt tillgänglig metadataslutpunkt.

Om det finns egenskaper som anges i både SAML-metadata-URL:en och programregistreringens manifest sammanfogas de. Egenskaperna som anges i metadata-URL:en bearbetas först och har företräde.

Med SAML-testprogrammet som exempel använder du följande värde för samlMetadataUrl i programmanifestet:

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

Åsidosätt eller ange konsument-URL för försäkran (valfritt)

Du kan konfigurera svars-URL:en som Azure AD B2C skickar SAML-svar till. Svars-URL:er kan konfigureras i programmanifestet. Den här konfigurationen är användbar när programmet inte exponerar en offentligt tillgänglig metadataslutpunkt.

Svars-URL:en för ett SAML-program är slutpunkten där programmet förväntar sig att ta emot SAML-svar. Programmet tillhandahåller vanligtvis den här URL:en i metadatadokumentet Location som elementets AssertionConsumerService attribut, som du ser i det här exemplet:

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

Om programmets metadataelement AssertionConsumerService saknas, eller om du vill åsidosätta det, konfigurerar du egenskapen för programregistreringsmanifestet replyUrlsWithType . Azure AD B2C använder replyUrlsWithType för att omdirigera användare när de har loggat in med bindningstypen HTTP-POST .

Med SAML-testprogrammet som exempel skulle du ange url egenskapen replyUrlsWithType för till det värde som visas i följande JSON-kodfragment:

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

Åsidosätt eller ange utloggnings-URL:en (valfritt)

Utloggnings-URL:en definierar var användaren ska omdirigeras efter en utloggningsbegäran. Programmet tillhandahåller vanligtvis den här URL:en i metadatadokumentet Location som elementets SingleLogoutService attribut, enligt följande exempel:

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

Om programmets metadataelement SingleLogoutService saknas konfigurerar du egenskapen för programregistreringsmanifestet logoutUrl . Azure AD B2C använder logoutURL för att omdirigera användare när de har loggat ut med bindningstypen HTTP-Redirect .

Om du använder SAML-testprogrammet som exempel anger logoutUrl du egenskapen till https://samltestapp2.azurewebsites.net/logout:

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

Kommentar

Om du väljer att konfigurera svars-URL:en och utloggnings-URL:en i programmanifestet utan att fylla i programmets metadataslutpunkt via samlMetadataUrl egenskapen verifierar Azure AD B2C inte signaturen för SAML-begäran. Saml-svaret krypteras inte heller.

Konfigurera Azure AD B2C som en SAML-IdP i ditt SAML-program

Det sista steget är att aktivera Azure AD B2C som en SAML-IdP i ditt SAML-program. Varje program skiljer sig åt och stegen varierar. Mer information finns i appens dokumentation.

Metadata kan konfigureras i ditt program som statiska metadata eller dynamiska metadata. I statiskt läge kopierar du alla eller en del av metadata från Azure AD B2C-principmetadata. I dynamiskt läge anger du URL:en till metadata och låter ditt program läsa metadata dynamiskt.

Vissa eller alla av följande krävs vanligtvis:

  • Metadata: Använd formatet https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/Samlp/metadata.

  • Utfärdare: SAML-begärans issuer värde måste matcha en av de URI:er som konfigurerats i elementet identifierUris i programregistreringsmanifestet. Om SAML-begärans namn inte finns i elementet lägger du till det i programregistreringsmanifestetissuer.identifierUris Exempel: https://contoso.onmicrosoft.com/app-name.

  • Inloggnings-URL, SAML-slutpunkt, SAML-URL: Kontrollera värdet i metadatafilen för Azure AD B2C SAML-princip för <SingleSignOnService> XML-elementet.

  • Certifikat: Det här certifikatet är B2C_1A_SamlIdpCert, men utan den privata nyckeln. Så här hämtar du certifikatets offentliga nyckel:

    1. Gå till den metadata-URL som angavs tidigare.
    2. Kopiera värdet i elementet <X509Certificate> .
    3. Klistra in den i en textfil.
    4. Spara textfilen som en CER-fil .

Testa med SAML-testappen

Du kan använda vårt SAML-testprogram för att testa konfigurationen:

  • Uppdatera klientorganisationens namn.
  • Uppdatera principnamnet. Använd till exempel B2C_1A_signup_signin_saml.
  • Ange utfärdarens URI. Använd en av URI:erna som finns i elementet identifierUris i programregistreringsmanifestet. Använd till exempel https://contoso.onmicrosoft.com/app-name.

Välj Logga in och en inloggningsskärm för användare ska visas. När du har loggat in utfärdas ett SAML-svar tillbaka till exempelprogrammet.

Saml-modaliteter som stöds och inte stöds

Följande SAML-programscenarier stöds via din egen metadataslutpunkt:

  • Ange flera utloggnings-URL:er eller POST-bindning för utloggnings-URL:en i programmet eller tjänstens huvudnamnsobjekt.
  • Ange en signeringsnyckel för att verifiera förlitande partsbegäranden i programmets eller tjänstens huvudnamnsobjekt.
  • Ange en tokenkrypteringsnyckel i programmets eller tjänstens huvudnamnsobjekt.
  • Ange IdP-initierad inloggning, där identitetsprovidern är Azure AD B2C.

Nästa steg