Registrace aplikace SAML v Azure AD B2C
V tomto článku se dozvíte, jak připojit aplikace SAML (Security Assertion Markup Language) (poskytovatelé služeb) k Azure Active Directory B2C (Azure AD B2C) za účelem ověřování.
Než začnete, použijte selektor Zvolit typ zásady a zvolte typ zásady, kterou nastavujete. Azure Active Directory B2C nabízí dvě metody, jak definovat, jak uživatelé pracují s vašimi aplikacemi: prostřednictvím předdefinovaných toků uživatelů nebo prostřednictvím plně konfigurovatelných vlastních zásad. Kroky vyžadované v tomto článku se pro každou metodu liší.
Tato funkce je dostupná jenom pro vlastní zásady. Pro postup nastavení vyberte v předchozím selektoru Možnost Vlastní zásada .
Přehled
Organizace, které jako řešení pro správu přístupu a identit zákazníků používají Azure AD B2C, můžou vyžadovat integraci s aplikacemi, které se ověřují pomocí protokolu SAML. Následující diagram ukazuje, jak Azure AD B2C slouží jako zprostředkovatel identity (IdP) k dosažení jednotného přihlašování (SSO) s aplikacemi založenými na SAML.
- Aplikace vytvoří požadavek AuthN SAML, který se odešle do přihlašovacího koncového bodu SAML pro Azure AD B2C.
- Uživatel může k ověření použít místní účet Azure AD B2C nebo jiného zprostředkovatele federované identity (pokud je nakonfigurovaný).
- Pokud se uživatel přihlásí pomocí zprostředkovatele federované identity, odešle se Azure AD B2C odpověď tokenu.
- Azure AD B2C vygeneruje kontrolní výraz SAML a odešle ho do aplikace.
V tomto videu se dozvíte, jak integrovat aplikace SAML s Azure AD B2C.
Požadavky
Pro scénář v tomto článku potřebujete:
- Vlastní zásada SocialAndLocalAccounts z vlastního úvodního balíčku zásad. Proveďte kroky v tématu Začínáme s vlastními zásadami v Azure AD B2C.
- Základní znalost protokolu SAML a znalost implementace SAML aplikace
- Webová aplikace nakonfigurovaná jako aplikace SAML. Musí mít možnost odesílat požadavky SAML AuthN a přijímat, dekódovat a ověřovat odpovědi SAML z Azure AD B2C. Aplikace SAML se také označuje jako aplikace předávající strany nebo poskytovatel služeb.
- Veřejně dostupný koncový bod metadat SAML aplikace SAML nebo dokument XML.
- Tenant Azure AD B2C.
Pokud ještě nemáte aplikaci SAML a přidružený koncový bod metadat, můžete použít testovací aplikaci SAML , kterou jsme zpřístupnili pro testování.
Důležité
Vaše koncové body musí splňovat požadavky na zabezpečení Azure AD B2C. Starší verze protokolu TLS a šifry jsou zastaralé. Další informace najdete v tématu Azure AD požadavky na protokol TLS a šifrovací sadu B2C.
Nastavení certifikátů
Pokud chcete vytvořit vztah důvěryhodnosti mezi vaší aplikací a Azure AD B2C, musí být obě služby schopné vytvářet a ověřovat podpisy ostatních. Nakonfigurujte certifikáty X509 ve vaší aplikaci a v Azure AD B2C.
Certifikáty aplikací
Využití | Povinné | Popis |
---|---|---|
Podepisování požadavků SAML | No | Certifikát s privátním klíčem uloženým ve webové aplikaci. Vaše aplikace používá certifikát k podepisování požadavků SAML odeslaných Azure AD B2C. Webová aplikace musí zveřejnit veřejný klíč prostřednictvím koncového bodu metadat SAML. Azure AD B2C ověří podpis požadavku SAML pomocí veřejného klíče z metadat aplikace. |
Šifrování kontrolního výrazu SAML | No | Certifikát s privátním klíčem uloženým ve webové aplikaci. Webová aplikace musí zveřejnit veřejný klíč prostřednictvím koncového bodu metadat SAML. Azure AD B2C může šifrovat kontrolní výrazy vaší aplikace pomocí veřejného klíče. Aplikace používá privátní klíč k dešifrování kontrolního výrazu. |
Azure AD certifikátů B2C
Využití | Povinné | Popis |
---|---|---|
Podepisování odpovědí SAML | Yes | Certifikát s privátním klíčem uloženým v Azure AD B2C. Azure AD B2C používá tento certifikát k podepsání odpovědi SAML odeslané do vaší aplikace. Vaše aplikace přečte veřejný klíč metadat v Azure AD B2C, aby ověřila podpis odpovědi SAML. |
Podepisování kontrolního výrazu SAML | Yes | Certifikát s privátním klíčem uloženým v Azure AD B2C. Azure AD B2C používá tento certifikát k podepsání <saml:Assertion> části odpovědi SAML. |
V produkčním prostředí doporučujeme používat certifikáty, které vydala veřejná certifikační autorita. Tento postup ale můžete provést také pomocí certifikátů podepsaných svým držitelem.
Vytvoření klíče zásad
Pokud chcete mít vztah důvěryhodnosti mezi vaší aplikací a Azure AD B2C, vytvořte podpisový certifikát pro odpověď SAML. Azure AD B2C používá tento certifikát k podepsání odpovědi SAML odeslané do vaší aplikace. Vaše aplikace přečte veřejný klíč metadat pro Azure AD B2C, aby ověřila podpis odpovědi SAML.
Tip
Tento klíč zásad můžete použít k jiným účelům, například k podepsání kontrolního výrazu SAML.
Získání certifikátu
Pokud ještě nemáte certifikát, můžete použít certifikát podepsaný svým držitelem. Certifikát podepsaný svým držitelem je certifikát zabezpečení, který není podepsaný certifikační autoritou a neposkytuje záruky zabezpečení certifikátu podepsaného certifikační autoritou.
Ve Windows vygenerujte certifikát pomocí rutiny New-SelfSignedCertificate v PowerShellu.
Spuštěním následujícího příkazu PowerShellu vygenerujte certifikát podepsaný svým držitelem.
-Subject
Upravte argument podle potřeby pro vaši aplikaci a Azure AD název tenanta B2C, napříkladcontosowebapp.contoso.onmicrosoft.com
. Můžete také upravit-NotAfter
datum a určit jiné vypršení platnosti certifikátu.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"
Na počítači s Windows vyhledejte a vyberte Spravovat certifikáty uživatelů.
V části Certifikáty – aktuální uživatel vyberte Osobní>certifikáty>yourappname.yourtenant.onmicrosoft.com.
Vyberte certifikát a pak vyberte Akce>– Export všech úkolů>.
Vyberte Další>Ano, exportovat privátní klíč>Další.
Přijměte výchozí hodnoty pro Formát souboru exportu a pak vyberte Další.
Možnost Povolit heslo , zadejte heslo pro certifikát a pak vyberte Další.
Pokud chcete zadat umístění pro uložení certifikátu, vyberte Procházet a přejděte do libovolného adresáře.
V okně Uložit jako zadejte Název souboru a pak vyberte Uložit.
Vyberte Další>Dokončit.
Aby Azure AD B2C přijali heslo souboru .pfx, musí být heslo zašifrované pomocí možnosti TripleDES-SHA1 v nástroji Windows Certificate Store Export, na rozdíl od AES256-SHA256.
Odeslání certifikátu
Certifikát musíte uložit ve svém tenantovi Azure AD B2C.
- Přihlaste se k webu Azure Portal.
- Ujistěte se, že používáte adresář, který obsahuje vašeho tenanta Azure AD B2C. Na panelu nástrojů portálu vyberte ikonu Adresáře a předplatná .
- Na | nastavení portálu Na stránce Adresáře a předplatná vyhledejte svůj adresář Azure AD B2C v seznamu Název adresáře a pak vyberte Přepnout.
- V levém horním rohu Azure Portal vyberte Všechny služby a pak vyhledejte a vyberte Azure AD B2C.
- Na stránce Přehled vyberte Architektura prostředí identit.
- Vyberte Klíče zásad a pak vyberte Přidat.
- V části Možnosti vyberte Nahrát.
- Do pole Název zadejte název klíče zásad. Zadejte například SamlIdpCert. Předpona B2C_1A_ se automaticky přidá k názvu vašeho klíče.
- Vyhledejte soubor .pfx certifikátu s privátním klíčem a vyberte ho.
- Vyberte Vytvořit.
Povolení připojení zásad k aplikaci SAML
Pokud se chcete připojit k aplikaci SAML, Azure AD B2C musí být schopná vytvářet odpovědi SAML.
Otevřete SocialAndLocalAccounts\TrustFrameworkExtensions.xml v úvodním balíčku pro vlastní zásady.
<ClaimsProviders>
Vyhledejte oddíl a přidejte následující fragment kódu XML pro implementaci generátoru odpovědí SAML:
<ClaimsProvider>
<DisplayName>Token Issuer</DisplayName>
<TechnicalProfiles>
<!-- SAML Token Issuer technical profile -->
<TechnicalProfile Id="Saml2AssertionIssuer">
<DisplayName>Token Issuer</DisplayName>
<Protocol Name="SAML2"/>
<OutputTokenFormat>SAML2</OutputTokenFormat>
<Metadata>
<Item Key="IssuerUri">https://issuerUriMyAppExpects</Item>
</Metadata>
<CryptographicKeys>
<Key Id="SamlAssertionSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
<Key Id="SamlMessageSigning" StorageReferenceId="B2C_1A_SamlIdpCert"/>
</CryptographicKeys>
<InputClaims/>
<OutputClaims/>
<UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-issuer"/>
</TechnicalProfile>
<!-- Session management technical profile for SAML-based tokens -->
<TechnicalProfile Id="SM-Saml-issuer">
<DisplayName>Session Management Provider</DisplayName>
<Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.SamlSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null"/>
</TechnicalProfile>
</TechnicalProfiles>
</ClaimsProvider>
Konfigurace identifikátoru URI vystavitele odpovědi SAML
Hodnotu IssuerUri
položky metadat můžete změnit v technickém profilu Vystavitel tokenu SAML. Tato změna se projeví v atributu vráceného issuerUri
v odpovědi SAML z Azure AD B2C. Nakonfigurujte aplikaci tak, aby během ověřování odpovědi SAML přijímala stejnou IssuerUri
hodnotu.
<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>
Konfigurace zásad pro vydání odpovědi SAML
Když teď vaše zásady můžou vytvářet odpovědi SAML, musíte zásadu nakonfigurovat tak, aby místo výchozí odpovědi JWT vaší aplikaci vystavily odpověď SAML.
Vytvoření zásad registrace nebo přihlašování nakonfigurovaných pro SAML
Vytvořte kopii SignUpOrSignin.xml souboru v pracovním adresáři počátečního balíčku a uložte ho pod novým názvem. V tomto článku se jako příklad používá SignUpOrSigninSAML.xml . Tento soubor je soubor zásad předávající strany. Je nakonfigurovaný tak, aby ve výchozím nastavení vydá odpověď JWT.
Otevřete souborSignUpOrSigninSAML.xml v preferovaném editoru.
PolicyId
Změňte hodnoty aPublicPolicyUri
zásad naB2C_1A_signup_signin_saml
ahttp://<tenant-name>.onmicrosoft.com/B2C_1A_signup_signin_saml
.<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">
Na konci cesty uživatele Azure AD B2C obsahuje
SendClaims
krok. Tento krok odkazuje na technický profil Vystavitel tokenů. Pokud chcete místo výchozí odpovědi JWT vydat odpověď SAML, upravteSendClaims
krok tak, aby odkazovat na nový technický profil vystavitele tokenů SAML:Saml2AssertionIssuer
.
Těsně před <RelyingParty>
element přidejte následující fragment kódu XML. Tento kód XML přepíše orchestraci krok 7 na cestě uživatele SignUpOrSignIn .
Pokud jste začali z jiné složky v úvodním balíčku nebo jste přizpůsobili cestu uživatele přidáním nebo odebráním kroků orchestrace, ujistěte se, že číslo v elementu order
odpovídá číslu zadanému v cestě uživatele pro krok vystavitele tokenu. Například v ostatních složkách počátečního balíčku je odpovídající číslo kroku 4 pro LocalAccounts
, 6 pro SocialAccounts
a 9 pro SocialAndLocalAccountsWithMfa
.
<UserJourneys>
<UserJourney Id="SignUpOrSignIn">
<OrchestrationSteps>
<OrchestrationStep Order="7" Type="SendClaims" CpimIssuerTechnicalProfileReferenceId="Saml2AssertionIssuer"/>
</OrchestrationSteps>
</UserJourney>
</UserJourneys>
Element předávající strany určuje, který protokol vaše aplikace používá. Výchozí formát je OpenId
. Element Protocol
se musí změnit na SAML
. Výstupní deklarace identity vytvoří mapování deklarací identity na kontrolní výraz SAML.
Celý <TechnicalProfile>
prvek v elementu <RelyingParty>
nahraďte následujícím kódem XML technického profilu. Aktualizujte tenant-name
na název vašeho tenanta Azure AD B2C.
<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>
Konečný soubor zásad pro předávající stranu by měl vypadat jako následující kód XML:
<?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>
Poznámka
Stejným postupem můžete implementovat další typy toků uživatelů (například toky přihlášení, resetování hesla nebo úpravy profilu).
Nahrání zásad
Uložte změny a nahrajte nové soubory zásadTrustFrameworkExtensions.xml a SignUpOrSigninSAML.xml do Azure Portal.
Testování metadat SAML z idp Azure AD B2C
Po nahrání souborů zásad použije Azure AD B2C informace o konfiguraci k vygenerování dokumentu metadat SAML zprostředkovatele identity, který bude aplikace používat. Dokument s metadaty SAML obsahuje umístění služeb, jako jsou metody přihlášení, metody odhlášení a certifikáty.
Metadata zásad Azure AD B2C jsou k dispozici na následující adrese URL:
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/samlp/metadata
Nahraďte <tenant-name>
názvem vašeho tenanta Azure AD B2C. Nahraďte <policy-name>
názvem (ID) zásady. Tady je příklad:
https://contoso.b2clogin.com/contoso.onmicrosoft.com/B2C_1A_signup_signin_saml/samlp/metadata
Registrace aplikace SAML v Azure AD B2C
Aby Azure AD B2C důvěřovala vaší aplikaci, vytvoříte registraci aplikace Azure AD B2C. Registrace obsahuje informace o konfiguraci, například koncový bod metadat aplikace.
- Přihlaste se k webu Azure Portal.
- Ujistěte se, že používáte adresář, který obsahuje vašeho tenanta Azure AD B2C. Na panelu nástrojů portálu vyberte ikonu Adresáře a předplatná .
- Na | nastavení portálu Na stránce Adresáře a předplatná vyhledejte svůj adresář Azure AD B2C v seznamu Název adresáře a pak vyberte Přepnout.
- V nabídce vlevo vyberte Azure AD B2C. Nebo vyberte Všechny služby a pak vyhledejte a vyberte Azure AD B2C.
- Vyberte Registrace aplikací a pak vyberte Nová registrace.
- Zadejte Název aplikace. Zadejte například SAMLApp1.
- V části Podporované typy účtů vyberte Účty pouze v tomto organizačním adresáři.
- V části Identifikátor URI přesměrování vyberte Web a pak zadejte
https://localhost
. Tuto hodnotu upravíte později v manifestu registrace aplikace. - Vyberte Zaregistrovat.
Konfigurace aplikace v Azure AD B2C
U aplikací SAML je potřeba nakonfigurovat několik vlastností v manifestu registrace aplikace.
- V Azure Portal přejděte k registraci aplikace, kterou jste vytvořili v předchozí části.
- V části Spravovat vyberte Manifest a otevřete editor manifestu. Potom upravte vlastnosti popsané v následujících částech.
Přidání identifikátoru
Když vaše aplikace SAML odešle požadavek na Azure AD B2C, obsahuje Issuer
požadavek SAML AuthN atribut. Hodnota tohoto atributu je obvykle stejná jako hodnota metadat entityID
aplikace. Azure AD B2C používá tuto hodnotu k vyhledání registrace aplikace v adresáři a ke čtení konfigurace. Aby toto vyhledávání proběhlo úspěšně, identifierUri
musí být v registraci aplikace vyplněna hodnota, která odpovídá atributu Issuer
.
V manifestu registrace vyhledejte identifierURIs
parametr a přidejte příslušnou hodnotu. Tato hodnota bude stejná jako hodnota nakonfigurovaná v požadavcích AuthN SAML v EntityId
aplikaci a entityID
hodnota v metadatech aplikace. Budete také muset najít accessTokenAcceptedVersion
parametr a nastavit hodnotu na 2
.
Důležité
Pokud neaktualizujete accessTokenAcceptedVersion
na 2
, zobrazí se chybová zpráva vyžadující ověřenou doménu.
Následující příklad ukazuje entityID
hodnotu v metadatech SAML:
<EntityDescriptor ID="id123456789" entityID="https://samltestapp2.azurewebsites.net" validUntil="2099-12-31T23:59:59Z" xmlns="urn:oasis:names:tc:SAML:2.0:metadata">
Vlastnost identifierUris
bude přijímat adresy URL pouze v doméně tenant-name.onmicrosoft.com
.
"identifierUris":"https://tenant-name.onmicrosoft.com/app-name",
Sdílení metadat aplikace s Azure AD B2C
Po načtení registrace aplikace podle hodnoty identifierUri
použije Azure AD B2C metadata aplikace k ověření požadavku SAML AuthN a určení způsobu reakce.
Doporučujeme, aby vaše aplikace zpřístupňuje veřejně přístupný koncový bod metadat.
Pokud jsou v adrese URL metadat SAML i manifestu registrace aplikace zadané vlastnosti, budou sloučeny. Vlastnosti zadané v adrese URL metadat se zpracují jako první a mají přednost.
Jako příklad použijete testovací aplikaci SAML a v manifestu aplikace použijete následující hodnotu samlMetadataUrl
pro:
"samlMetadataUrl":"https://samltestapp2.azurewebsites.net/Metadata",
Přepsání nebo nastavení adresy URL příjemce kontrolního výrazu (volitelné)
Můžete nakonfigurovat adresu URL odpovědi, na kterou Azure AD B2C odesílá odpovědi SAML. Adresy URL odpovědí je možné nakonfigurovat v manifestu aplikace. Tato konfigurace je užitečná, když vaše aplikace nezpřístupňuje veřejně přístupný koncový bod metadat.
Adresa URL odpovědi pro aplikaci SAML je koncový bod, ve kterém aplikace očekává příjem odpovědí SAML. Aplikace obvykle poskytuje tuto adresu URL v dokumentu metadat jako Location
atribut elementu AssertionConsumerService
, jak je znázorněno v tomto příkladu:
<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>
Pokud element metadat AssertionConsumerService
aplikace chybí nebo ho chcete přepsat, nakonfigurujte vlastnost manifestu replyUrlsWithType
registrace aplikace. Azure AD B2C používá replyUrlsWithType
k přesměrování uživatelů po přihlášení pomocí typu vazbyHTTP-POST
.
Pomocí testovací aplikace SAML byste jako příklad nastavili url
vlastnost replyUrlsWithType
na hodnotu zobrazenou v následujícím fragmentu kódu JSON:
"replyUrlsWithType":[
{
"url":"https://samltestapp2.azurewebsites.net/SP/AssertionConsumer",
"type":"Web"
}
],
Přepsání nebo nastavení adresy URL pro odhlášení (volitelné)
Adresa URL pro odhlášení definuje, kam se má uživatel po žádosti o odhlášení přesměrovat. Aplikace obvykle poskytuje tuto adresu URL v dokumentu metadat jako Location
atribut elementu SingleLogoutService
, jak je znázorněno v následujícím příkladu:
<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>
Pokud element metadat SingleLogoutService
aplikace chybí, nakonfigurujte vlastnost manifestu logoutUrl
registrace aplikace. Azure AD B2C přesměruje logoutURL
uživatele po odhlášení pomocí typu vazbyHTTP-Redirect
.
Pomocí testovací aplikace SAML jako příkladu byste vlastnost nastavili logoutUrl
na https://samltestapp2.azurewebsites.net/logout
:
"logoutUrl": "https://samltestapp2.azurewebsites.net/logout",
Poznámka
Pokud se rozhodnete nakonfigurovat adresu URL odpovědi a adresu URL pro odhlášení v manifestu aplikace bez naplnění koncového bodu metadat aplikace prostřednictvím samlMetadataUrl
vlastnosti, Azure AD B2C podpis požadavku SAML neověří. Nešifruje ani odpověď SAML.
Konfigurace Azure AD B2C jako zprostředkovatele identity SAML v aplikaci SAML
Posledním krokem je povolení Azure AD B2C jako zprostředkovatele identity SAML ve vaší aplikaci SAML. Každá aplikace je jiná a postup se liší. Podrobnosti najdete v dokumentaci k aplikaci.
Metadata je možné v aplikaci nakonfigurovat jako statická metadata nebo dynamická metadata. Ve statickém režimu zkopírujte všechna metadata nebo jejich část z metadat zásad Azure AD B2C. V dynamickém režimu zadejte adresu URL metadat a povolte aplikaci dynamicky číst metadata.
Obvykle se vyžadují některé nebo všechny následující:
Metadata: Použijte formát
https://<tenant-name>.b2clogin.com/<tenant-name>.onmicrosoft.com/<policy-name>/Samlp/metadata
.Vystavitel: Hodnota požadavku
issuer
SAML se musí shodovat s jedním z identifikátorů URI nakonfigurovaných videntifierUris
elementu manifestu registrace aplikace. Pokud název požadavkuissuer
SAML v elementuidentifierUris
neexistuje, přidejte ho do manifestu registrace aplikace. Příklad:https://contoso.onmicrosoft.com/app-name
.Přihlašovací adresa URL, koncový bod SAML, adresa URL SAML: Zkontrolujte hodnotu v souboru metadat zásad SAML Azure AD B2C pro
<SingleSignOnService>
element XML.Certifikát: Tento certifikát je B2C_1A_SamlIdpCert, ale bez privátního klíče. Získání veřejného klíče certifikátu:
- Přejděte na adresu URL metadat zadanou dříve.
- Zkopírujte hodnotu v elementu
<X509Certificate>
. - Vložte ho do textového souboru.
- Uložte textový soubor jako soubor .cer .
Testování pomocí testovací aplikace SAML
K otestování konfigurace můžete použít naši testovací aplikaci SAML :
- Aktualizujte název tenanta.
- Aktualizujte název zásady. Použijte například B2C_1A_signup_signin_saml.
- Zadejte identifikátor URI vystavitele. Použijte jeden z identifikátorů URI, které najdete v elementu
identifierUris
v manifestu registrace aplikace. Použijtehttps://contoso.onmicrosoft.com/app-name
například .
Vyberte Přihlásit se a měla by se zobrazit přihlašovací obrazovka uživatele. Po přihlášení se do ukázkové aplikace vrátí odpověď SAML.
Podporované a nepodporované postupy SAML
Následující scénáře aplikací SAML se podporují prostřednictvím vašeho vlastního koncového bodu metadat:
- Zadejte více adres URL pro odhlášení nebo vazbu POST pro adresu URL pro odhlášení v objektu aplikace nebo instančního objektu.
- Zadejte podpisový klíč pro ověření požadavků předávající strany v objektu aplikace nebo instančního objektu.
- Zadejte šifrovací klíč tokenu v aplikaci nebo instančním objektu.
- Zadejte přihlášení iniciované idP, kde je zprostředkovatel identity Azure AD B2C.
Další kroky
- Získejte testovací webovou aplikaci SAML z úložiště Azure AD B2C komunity GitHubu.
- Projděte si možnosti registrace aplikace SAML v Azure AD B2C.
- Naučte se vytvářet odolnost pomocí osvědčených postupů pro vývojáře.