SAML-alkalmazás regisztrálása az Azure AD B2C-ben

Ebből a cikkből megtudhatja, hogyan csatlakoztathatja a Security Assertion Markup Language (SAML) alkalmazásokat (szolgáltatókat) az Azure Active Directory B2C-hez (Azure AD B2C) hitelesítés céljából.

Mielőtt hozzákezdene, a Szabályzattípus kiválasztása választóval válassza ki a beállított szabályzat típusát. Az Azure Active Directory B2C két módszert kínál annak meghatározására, hogy a felhasználók hogyan használják az alkalmazásokat: előre definiált felhasználói folyamatokon vagy teljesen konfigurálható egyéni szabályzatokon keresztül. A cikkben szereplő lépések különbözőek az egyes metódusok esetében.

Ez a funkció csak egyéni szabályzatokhoz érhető el. A beállítási lépésekhez válassza az egyéni szabályzatot az előző választóban.

Áttekintés

Azok a szervezetek, amelyek az Azure AD B2C-t használják ügyfélidentitásuk és hozzáférés-kezelési megoldásukként, az SAML protokollal hitelesítő alkalmazásokkal való integrációt igényelhetnek. Az alábbi ábra bemutatja, hogyan szolgál az Azure AD B2C identitásszolgáltatóként (IDP) az egyszeri bejelentkezés (SSO) saml-alapú alkalmazásokkal való eléréséhez.

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

  1. Az alkalmazás létrehoz egy SAML AuthN-kérést, amelyet az Azure AD B2C SAML bejelentkezési végpontjának küld.
  2. A felhasználó használhat helyi Azure AD B2C-fiókot vagy bármely más összevont identitásszolgáltatót (ha konfigurálva van) a hitelesítéshez.
  3. Ha a felhasználó összevont identitásszolgáltatóval jelentkezik be, a rendszer jogkivonat-választ küld az Azure AD B2C-nek.
  4. Az Azure AD B2C létrehoz egy SAML-állítást, és elküldi az alkalmazásnak.

Ebből a videóból megtudhatja, hogyan integrálhatja az SAML-alkalmazásokat az Azure AD B2C-vel.

Előfeltételek

A cikkben szereplő forgatókönyvhöz a következőkre van szükség:

  • A SocialAndLocalAccounts egyéni szabályzatot egy egyéni szabályzat kezdőcsomagjából. Végezze el az Egyéni szabályzatok használatának első lépéseit az Azure AD B2C-ben.
  • Az SAML protokoll alapszintű ismerete és az alkalmazás SAML-implementációjának ismerete.
  • SAML-alkalmazásként konfigurált webalkalmazás. Képesnek kell lennie SAML AuthN-kérelmek küldésére, valamint SAML-válaszok fogadására, dekódolására és ellenőrzésére az Azure AD B2C-ből. Az SAML-alkalmazást függő entitásalkalmazásnak vagy szolgáltatónak is nevezik.
  • Az SAML-alkalmazás nyilvánosan elérhető SAML-metaadat-végpontja vagy XML-dokumentuma.
  • Egy Azure AD B2C-bérlő.

Ha még nem rendelkezik SAML-alkalmazással és társított metaadat-végpontkal, használhatja a teszteléshez elérhetővé tett SAML-tesztalkalmazást .

Fontos

A végpontoknak meg kell felelniük az Azure AD B2C biztonsági követelményeinek. A régebbi TLS-verziók és -titkosítások elavultak. További információ: Azure AD B2C TLS és titkosítási csomag követelményei.

Tanúsítványok beállítása

Az alkalmazás és az Azure AD B2C közötti megbízhatósági kapcsolat létrehozásához mindkét szolgáltatásnak képesnek kell lennie egymás aláírásainak létrehozására és érvényesítésére. X509-tanúsítványok konfigurálása az alkalmazásban és az Azure AD B2C-ben.

Alkalmazástanúsítványok

Usage Kötelező Leírás
SAML-kérelem aláírása Nem A webalkalmazásban tárolt titkos kulccsal rendelkező tanúsítvány. Az alkalmazás a tanúsítvány használatával írja alá az Azure AD B2C-nek küldött SAML-kérelmeket. A webalkalmazásnak közzé kell tennie a nyilvános kulcsot az SAML metaadat-végponton keresztül. Az Azure AD B2C az alkalmazás metaadataiból származó nyilvános kulccsal ellenőrzi az SAML-kérelem aláírását.
SAML-helyességi titkosítás Nem A webalkalmazásban tárolt titkos kulccsal rendelkező tanúsítvány. A webalkalmazásnak közzé kell tennie a nyilvános kulcsot az SAML metaadat-végponton keresztül. Az Azure AD B2C a nyilvános kulccsal titkosíthatja az alkalmazásra vonatkozó állításokat. Az alkalmazás a titkos kulccsal fejti vissza az állítást.

Azure AD B2C-tanúsítványok

Usage Kötelező Leírás
SAML-válaszaláírás Igen Az Azure AD B2C-ben tárolt titkos kulccsal rendelkező tanúsítvány. Az Azure AD B2C ezzel a tanúsítvánnyal írja alá az alkalmazásnak küldött SAML-választ. Az alkalmazás beolvassa a metaadat nyilvános kulcsát az Azure AD B2C-ben az SAML-válasz aláírásának ellenőrzéséhez.
SAML-állítás aláírása Igen Az Azure AD B2C-ben tárolt titkos kulccsal rendelkező tanúsítvány. Az Azure AD B2C ezzel a tanúsítvánnyal írja alá az <saml:Assertion> SAML-válasz részét.

Éles környezetben azt javasoljuk, hogy olyan tanúsítványokat használjon, amelyeket egy nyilvános hitelesítésszolgáltató állított ki. Ezt az eljárást azonban önaláírt tanúsítványokkal is elvégezheti.

Szabályzatkulcs létrehozása

Ha megbízható kapcsolatot szeretne létesíteni az alkalmazás és az Azure AD B2C között, hozzon létre egy aláíró tanúsítványt az SAML-válaszhoz. Az Azure AD B2C ezzel a tanúsítvánnyal írja alá az alkalmazásnak küldött SAML-választ. Az alkalmazás beolvassa az Azure AD B2C metaadat-nyilvános kulcsát az SAML-válasz aláírásának ellenőrzéséhez.

Tipp.

Ezt a szabályzatkulcsot más célokra is használhatja, például az SAML-állítás aláírását.

Tanúsítvány beszerzése

Ha még nem rendelkezik tanúsítvánnyal, használhat önaláírt tanúsítványt. Az önaláírt tanúsítvány olyan biztonsági tanúsítvány, amelyet nem egy hitelesítésszolgáltató (CA) ír alá, és nem biztosítja a hitelesítésszolgáltató által aláírt tanúsítvány biztonsági garanciáit.

Windows rendszeren a PowerShell New-SelfSignedCertificate parancsmagja segítségével hozzon létre tanúsítványt.

  1. Futtassa a következő PowerShell-parancsot egy önaláírt tanúsítvány létrehozásához. Módosítsa az argumentumot az -Subject alkalmazáshoz és az Azure AD B2C-bérlő nevéhez, például contosowebapp.contoso.onmicrosoft.com. A dátumot úgy is módosíthatja -NotAfter , hogy a tanúsítvány lejárata eltérő legyen.

    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. Windows rendszerű számítógépen keresse meg és válassza a Felhasználói tanúsítványok kezelése lehetőséget

  3. A Tanúsítványok – Aktuális felhasználó csoportban válassza a Személyes>tanúsítványok>yourappname.yourtenant.onmicrosoft.com lehetőséget.

  4. Jelölje ki a tanúsítványt, majd válassza az Összes tevékenység>exportálása művelet>lehetőséget.

  5. Válassza a Következő>igen lehetőséget, exportálja a Következő titkos kulcsot.>

  6. Fogadja el a fájlformátum exportálásának alapértelmezett értékét, majd válassza a Tovább gombot.

  7. Engedélyezze a Jelszó beállítást, adjon meg egy jelszót a tanúsítványhoz, majd válassza a Tovább gombot.

  8. A tanúsítvány mentési helyének megadásához válassza a Tallózás lehetőséget , és keresse meg a kívánt könyvtárat.

  9. A Mentés másként ablakban adjon meg egy fájlnevet, majd válassza a Mentés lehetőséget.

  10. Válassza a Next>Finish (Tovább > Befejezés) elemet.

Ahhoz, hogy az Azure AD B2C elfogadja a .pfx fájljelszót, a jelszót az AES256-SHA256 helyett a Windows Tanúsítványtár exportálási segédprogram TripleDES-SHA1 beállításával kell titkosítani.

A tanúsítvány feltöltése

A tanúsítványt az Azure AD B2C-bérlőben kell tárolnia.

  1. Jelentkezzen be az Azure Portalra.
  2. Ha több bérlőhöz is hozzáfér, a felső menüben válassza a Gépház ikont az Azure AD B2C-bérlőre való váltáshoz a Címtárak + előfizetések menüből.
  3. Válassza az Összes szolgáltatás lehetőséget az Azure Portal bal felső sarkában, majd keresse meg és válassza az Azure AD B2C-t.
  4. Az Áttekintés lapon válassza az Identity Experience Framework lehetőséget.
  5. Válassza a Házirendkulcsok lehetőséget, majd válassza a Hozzáadás lehetőséget.
  6. A Beállítások területen válassza a Feltöltés lehetőséget.
  7. A Név mezőbe írja be a szabályzatkulcs nevét. Írja be például a SamlIdpCert nevet. A B2C_1A_ előtag automatikusan hozzáadódik a kulcs nevéhez.
  8. Keresse meg és válassza ki a tanúsítvány .pfx fájlját a titkos kulccsal.
  9. Select Create.

A szabályzat csatlakoztatásának engedélyezése SAML-alkalmazással

Az SAML-alkalmazáshoz való csatlakozáshoz az Azure AD B2C-nek képesnek kell lennie SAML-válaszok létrehozására.

Nyissa meg a SocialAndLocalAccounts\TrustFrameworkExtensions.xml fájlt az egyéni szabályzat kezdőcsomagjában.

Keresse meg a szakaszt <ClaimsProviders> , és adja hozzá a következő XML-kódrészletet az SAML-válaszgenerátor implementálásához:

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

Az SAML-válasz kiállítói URI-jának konfigurálása

A metaadat-elem értékét az IssuerUri SAML-jogkivonat-kiállító technikai profiljában módosíthatja. Ez a változás megjelenik az issuerUri Azure AD B2C SAML-válaszában visszaadott attribútumban. Konfigurálja az alkalmazást úgy, hogy ugyanazt IssuerUri az értéket fogadja el az SAML-válasz érvényesítése során.

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

A szabályzat konfigurálása SAML-válasz kiadására

Most, hogy a szabályzat saml-válaszokat hozhat létre, konfigurálnia kell a szabályzatot, hogy SAML-választ adjon ki az alkalmazás alapértelmezett JWT-válasza helyett.

SamL-hez konfigurált regisztrációs vagy bejelentkezési szabályzat létrehozása

  1. Hozzon létre egy másolatot a SignUpOrSignin.xml fájlról a kezdőcsomag munkakönyvtárában, és mentse egy új névvel. Ez a cikk a SignUpOrSigninSAML.xml fájlt használja példaként. Ez a fájl a függő entitás házirendfájlja. Úgy van konfigurálva, hogy alapértelmezés szerint JWT-választ adjon ki.

  2. Nyissa meg a SignUpOrSigninSAML.xml fájlt az előnyben részesített szerkesztőben.

  3. A következő érték módosítása:

    1. PolicyIdB2C_1A_signup_signin_saml

    2. PublicPolicyUri to http://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml. Cserélje le <tenant-name> a helyőrzőt az Azure AD B2C-bérlő tartománynevének altartományára. Ha például a bérlő elsődleges tartománya, contoso.onmicrosoft.comhasználja a következőt contoso: Ha nem rendelkezik a bérlő nevével, olvassa el a bérlő adatait.

    <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. A felhasználói folyamat végén az Azure AD B2C tartalmaz egy SendClaims lépést. Ez a lépés a tokenkibocsátó technikai profiljára hivatkozik. Ha az alapértelmezett JWT-válasz helyett SAML-választ szeretne kiadni, módosítsa a SendClaims lépést úgy, hogy az az új SAML-jogkivonat-kiállító technikai profiljára hivatkozzon. Saml2AssertionIssuer

Adja hozzá a következő XML-kódrészletet az <RelyingParty> elem előtt. Ez az XML felülírja a 7. vezénylési lépést a SignUpOrSignIn felhasználói folyamat során.

Ha a kezdőcsomag egy másik mappájából indult, vagy a vezénylési lépések hozzáadásával vagy eltávolításával testre szabta a felhasználói folyamatot, győződjön meg arról, hogy az order elem száma megegyezik a tokenkibocsátó lépés felhasználói folyamatában megadott számmal. A többi kezdőcsomag mappában például a megfelelő lépésszám a 4 LocalAccounts, a 6 és SocialAccountsa 9 SocialAndLocalAccountsWithMfa.

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

A függő entitás eleme határozza meg, hogy az alkalmazás melyik protokollt használja. Az alapértelmezett érték OpenId. Az Protocol elemet a következőre SAMLkell módosítani: . A kimeneti jogcímek létrehozzák az SAML-állításhoz való jogcímleképezést.

Cserélje le az elem teljes <TechnicalProfile> elemét <RelyingParty> a következő műszaki profil XML-fájlra.

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

A függő entitás végleges szabályzatfájljának a következő XML-kódhoz hasonlóan kell kinéznie:

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

Megjegyzés:

Ugyanezt a folyamatot követve implementálhat más típusú felhasználói folyamatokat (például bejelentkezési, jelszó-visszaállítási vagy profilszerkesztési folyamatokat).

Szabályzat feltöltése

Mentse a módosításokat, és töltse fel az új TrustFrameworkExtensions.xml és SignUpOrSigninSAML.xml szabályzatfájlokat az Azure Portalra.

Az Azure AD B2C IDP SAML-metaadatainak tesztelése

A szabályzatfájlok feltöltése után az Azure AD B2C a konfigurációs adatok segítségével hozza létre az identitásszolgáltató SAML-metaadat-dokumentumát, amelyet az alkalmazás használni fog. Az SAML metaadat-dokumentum tartalmazza a szolgáltatások helyét, például a bejelentkezési módszereket, a kijelentkezési módszereket és a tanúsítványokat.

Az Azure AD B2C szabályzat metaadatai a következő URL-címen érhetők el:

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

Cserélje le <tenant-name> az Azure AD B2C-bérlő nevét. Cserélje le <policy-name> a szabályzat nevét (azonosítóját). Here's an example:

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

SAML-alkalmazás regisztrálása az Azure AD B2C-ben

Ahhoz, hogy az Azure AD B2C megbízható legyen az alkalmazásában, létre kell hoznia egy Azure AD B2C-alkalmazásregisztrációt. A regisztráció konfigurációs információkat tartalmaz, például az alkalmazás metaadat-végpontját.

  1. Jelentkezzen be az Azure Portalra.
  2. Ha több bérlőhöz is hozzáfér, a felső menüben válassza a Gépház ikont az Azure AD B2C-bérlőre való váltáshoz a Címtárak + előfizetések menüből.
  3. A bal oldali menüben válassza az Azure AD B2C-t. Vagy válassza a Minden szolgáltatás lehetőséget, majd keresse meg és válassza az Azure AD B2C-t.
  4. Válassza a Alkalmazásregisztrációk, majd az Új regisztráció lehetőséget.
  5. Adja meg az alkalmazás nevét. Írja be például az SAMLApp1 nevet.
  6. A Támogatott fióktípusok csoportban válassza a Csak ebben a szervezeti címtárban lévő Fiókok lehetőséget.
  7. Az Átirányítási URI területen válassza a Web lehetőséget, majd írja be a következőthttps://localhost: Ezt az értéket később fogja módosítani az alkalmazásregisztráció jegyzékében.
  8. Válassza a Regisztrálás lehetőséget.

Az alkalmazás konfigurálása az Azure AD B2C-ben

SAML-alkalmazások esetén több tulajdonságot kell konfigurálnia az alkalmazásregisztráció jegyzékében.

  1. Az Azure Portalon nyissa meg az előző szakaszban létrehozott alkalmazásregisztrációt.
  2. A Kezelés területen válassza a Jegyzékfájl lehetőséget a jegyzékszerkesztő megnyitásához. Ezután módosítsa a következő szakaszokban leírt tulajdonságokat.

Az azonosító hozzáadása

Amikor az SAML-alkalmazás kérést küld az Azure AD B2C-nek, az SAML AuthN-kérelem tartalmaz egy Issuer attribútumot. Az attribútum értéke általában megegyezik az alkalmazás metaadat-értékével entityID . Az Azure AD B2C ezzel az értékkel keresi meg az alkalmazásregisztrációt a címtárban, és olvassa el a konfigurációt. Ahhoz, hogy ez a keresés sikeres legyen, identifierUri az alkalmazásregisztrációban fel kell tölteni az attribútumnak megfelelő Issuer értéket.

A regisztrációs jegyzékben keresse meg a paramétert identifierURIs , és adja hozzá a megfelelő értéket. Ez az érték ugyanaz az érték lesz, mint az alkalmazás SAML AuthN-kérelmeiben EntityId konfigurált érték, és az entityID alkalmazás metaadatainak értéke. Meg kell keresnie a paramétert accessTokenAcceptedVersion is, és be kell állítania az értéket 2.

Fontos

Ha nem frissíti a accessTokenAcceptedVersion tartományt 2 , egy ellenőrzött tartományt igénylő hibaüzenet jelenik meg.

Az alábbi példa az entityID SAML-metaadatok értékét mutatja be:

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

A identifierUris tulajdonság csak a tartomány tenant-name.onmicrosoft.comURL-címeit fogadja el.

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

Az alkalmazás metaadatainak megosztása az Azure AD B2C-vel

Miután az alkalmazásregisztrációt betöltötte az identifierUri értéke, az Azure AD B2C az alkalmazás metaadatait használja az SAML AuthN-kérelem ellenőrzéséhez és a válaszadás módjának meghatározásához.

Javasoljuk, hogy az alkalmazás nyilvánosan elérhető metaadat-végpontot tegyen elérhetővé.

Ha az SAML metaadat-URL-címében és az alkalmazásregisztrációs jegyzékben is vannak tulajdonságok, a rendszer egyesíti őket. A metaadat URL-címében megadott tulajdonságok először feldolgozásra kerülnek, és elsőbbséget élveznek.

Példaként az SAML-tesztalkalmazást használva az alábbi értéket samlMetadataUrl használhatja az alkalmazásjegyzékben:

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

A helyességi feltétel fogyasztói URL-címének felülbírálása vagy beállítása (nem kötelező)

Konfigurálhatja azt a válasz URL-címet, amelyre az Azure AD B2C SAML-válaszokat küld. A válasz URL-címek konfigurálhatók az alkalmazásjegyzékben. Ez a konfiguráció akkor hasznos, ha az alkalmazás nem tesz közzé nyilvánosan elérhető metaadat-végpontot.

A SAML-alkalmazások válasz URL-címe az a végpont, amelyen az alkalmazás SAML-válaszokat vár. Az alkalmazás általában ezt az URL-címet adja meg a metaadat-dokumentumban az Location elem attribútumaként, ahogyan az ebben a AssertionConsumerService példában látható:

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

Ha az alkalmazás metaadateleme AssertionConsumerService hiányzik, vagy felül szeretné bírálni, konfigurálja az alkalmazásregisztrációs jegyzéktulajdonságot replyUrlsWithType . Az Azure AD B2C a replyUrlsWithType kötéstípussal való bejelentkezés után átirányítja a HTTP-POST felhasználókat.

Példaként az SAML tesztalkalmazást használva a url következő JSON-kódrészletben látható értékre állíthatja be a tulajdonságot replyUrlsWithType :

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

A kijelentkezés URL-címének felülbírálása vagy beállítása (nem kötelező)

A kijelentkezés URL-címe határozza meg, hogy hová irányíthatja át a felhasználót egy bejelentkezési kérés után. Az alkalmazás általában ezt az URL-címet adja meg a metaadat-dokumentumban az LocationSingleLogoutService elem attribútumaként, ahogyan az a következő példában is látható:

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

Ha az alkalmazás metaadateleme SingleLogoutService hiányzik, konfigurálja az alkalmazásregisztrációs jegyzéktulajdonságot logoutUrl . Az Azure AD B2C a logoutURL kötéstípus használatával történő kijelentkezés után átirányítja a HTTP-Redirect felhasználókat.

Az SAML-tesztalkalmazás példaként való használatával a tulajdonságot a logoutUrl következő értékre https://samltestapp2.azurewebsites.net/logoutállíthatja:

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

Megjegyzés:

Ha úgy dönt, hogy úgy konfigurálja a válasz URL-címet és a kijelentkezési URL-címet az alkalmazásjegyzékben, hogy az alkalmazás metaadat-végpontját a tulajdonságon keresztül feltölti, az samlMetadataUrl Azure AD B2C nem érvényesíti az SAML-kérelem aláírását. Az SAML-választ sem fogja titkosítani.

Az Azure AD B2C konfigurálása SAML-azonosítóként az SAML-alkalmazásban

Az utolsó lépés az Azure AD B2C saml idP-ként való engedélyezése az SAML-alkalmazásban. Minden alkalmazás más és a lépések eltérőek. A részletekért tekintse meg az alkalmazás dokumentációját.

A metaadatok statikus metaadatokként vagy dinamikus metaadatokként konfigurálhatók az alkalmazásban. Statikus módban másolja ki a metaadatok egy részét vagy egészét az Azure AD B2C szabályzat metaadataiból. Dinamikus módban adja meg a metaadatok URL-címét, és engedélyezze az alkalmazás számára a metaadatok dinamikus olvasását.

Általában az alábbiak némelyikére vagy mindegyikére van szükség:

  • Metaadatok: Használja a formátumot https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/Samlp/metadata.

  • Kiállító: Az SAML-kérelem értékének meg kell egyeznie issuer az alkalmazásregisztrációs jegyzék elemében identifierUris konfigurált URI-k egyikével. Ha az SAML-kérelem issuer neve nem szerepel az identifierUris elemben, adja hozzá az alkalmazásregisztrációs jegyzékhez. For example: https://contoso.onmicrosoft.com/app-name.

  • Bejelentkezési URL-cím, SAML-végpont, SAML URL-cím: Ellenőrizze az XML-elemhez tartozó <SingleSignOnService> Azure AD B2C SAML-szabályzat metaadatfájljának értékét.

  • Tanúsítvány: Ez a tanúsítvány B2C_1A_SamlIdpCert, de titkos kulcs nélkül. A tanúsítvány nyilvános kulcsának lekérése:

    1. Lépjen a korábban megadott metaadat-URL-címre.
    2. Másolja ki az elem értékét <X509Certificate> .
    3. Illessze be egy szövegfájlba.
    4. Mentse a szövegfájlt .cer fájlként.

Tesztelés az SAML tesztalkalmazással

Az SAML-tesztalkalmazásunkkal tesztelheti a konfigurációt:

  • Frissítse a bérlő nevét.
  • Frissítse a szabályzat nevét. Használja például a B2C_1A_signup_signin_saml.
  • Adja meg a kiállító URI-jának értékét. Használja az alkalmazásregisztrációs jegyzék elemében identifierUris található egyik URI-t. Használja például a következőt https://contoso.onmicrosoft.com/app-name: .

Válassza a Bejelentkezés lehetőséget, és megjelenik egy felhasználói bejelentkezési képernyő. A bejelentkezés után a rendszer saml-választ ad vissza a mintaalkalmazásnak.

Támogatott és nem támogatott SAML-modalitások

A következő SAML-alkalmazásforgatókönyvek támogatottak a saját metaadat-végponton keresztül:

Következő lépések