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.
- Programmet skapar en SAML AuthN-begäran som skickas till SAML-inloggningsslutpunkten för Azure AD B2C.
- 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.
- Om användaren loggar in med hjälp av en federerad identitetsprovider skickas ett tokensvar till Azure AD B2C.
- 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.
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 exempelcontosowebapp.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"
På Windows-datorn söker du efter och väljer Hantera användarcertifikat
Under Certifikat – aktuell användare väljer du Personliga>certifikat>yourappname.yourtenant.onmicrosoft.com.
Välj certifikatet och välj sedan Åtgärd>alla uppgifter>Exportera.
Välj Nästa>Ja, exportera den privata nyckeln>Nästa.
Acceptera standardinställningarna för Exportera filformat och välj sedan Nästa.
Aktivera alternativet Lösenord , ange ett lösenord för certifikatet och välj sedan Nästa.
Om du vill ange en plats för att spara certifikatet väljer du Bläddra och navigerar till valfri katalog.
I fönstret Spara som anger du ett filnamn och väljer sedan Spara.
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.
- Logga in på Azure-portalen.
- 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.
- 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.
- På sidan Översikt väljer du Identity Experience Framework.
- Välj Principnycklar och välj sedan Lägg till.
- För Alternativ väljer du Ladda upp.
- 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.
- Bläddra till och välj din .pfx-certifikatfil med den privata nyckeln.
- 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
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.
Öppna filen SignUpOrSigninSAML.xml i önskad redigerare.
Ändra värdet för:
PolicyId
tillB2C_1A_signup_signin_saml
PublicPolicyUri
tillhttp://<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 ärcontoso.onmicrosoft.com
använder ducontoso
. 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">
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-standardsvaretSendClaims
ä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 SocialAccounts
och 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.
- Logga in på Azure-portalen.
- 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.
- 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.
- Välj Appregistreringar och välj sedan Ny registrering.
- Ange ett namn för programmet. Ange till exempel SAMLApp1.
- Under Kontotyper som stöds väljer du Endast Konton i den här organisationskatalogen.
- Under Omdirigerings-URI väljer du Webb och anger
https://localhost
sedan . Du ändrar det här värdet senare i programregistreringens manifest. - Välj Registrera.
Konfigurera ditt program i Azure AD B2C
För SAML-appar måste du konfigurera flera egenskaper i programregistreringens manifest.
- I Azure-portalen går du till programregistreringen som du skapade i föregående avsnitt.
- 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 elementetidentifierUris
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:
- Gå till den metadata-URL som angavs tidigare.
- Kopiera värdet i elementet
<X509Certificate>
. - Klistra in den i en textfil.
- 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 exempelhttps://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
- Hämta SAML-testwebbappen från Azure AD B2C GitHub Community-lagringsplatsen.
- Se alternativen för att registrera ett SAML-program i Azure AD B2C.
- Lär dig hur du bygger motståndskraft genom bästa praxis för utvecklare.