Nastavení registrace a přihlášení pomocí účtu SwissID pomocí Azure Active Directory B2C
Než začnete, pomocí selektoru Zvolit typ zásady zvolte typ zásady, kterou nastavujete. Azure Active Directory B2C nabízí dvě metody pro definování způsobu interakce uživatelů 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ší.
V tomto článku se dozvíte, jak ve svých aplikacích poskytnout zákazníkům s účty SwissID registraci a přihlášení pomocí Azure Active Directory B2C (Azure AD B2C). SwissID přidáte do toků uživatelů nebo vlastní zásady pomocí protokolu OpenID Připojení. Další informace naleznete v tématu SwissID Integration Guidelines – OpenID Připojení.
Předpoklady
- Vytvořte tok uživatele, aby se uživatelé mohli zaregistrovat a přihlásit k vaší aplikaci.
- Zaregistrujte webovou aplikaci.
Vytvoření aplikace SwissID
Pokud chcete povolit přihlášení pro uživatele s účtem SwissID v Azure AD B2C, musíte vytvořit aplikaci. Chcete-li vytvořit aplikaci SwissID, postupujte takto:
Obraťte se na podporu partnera SwissID Business Partner.
Po registraci pomocí SwissID zadejte informace o vašem tenantovi Azure AD B2C:
Key Poznámka: Identifikátor URI pro přesměrování https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp
Zadejte identifikátor URI. Pokud používáte vlastní doménu, zadejtehttps://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp
. Nahraďteyour-tenant-name
názvem vašeho tenanta ayour-domain-name
vlastní doménou.Metoda ověřování koncového bodu tokenu client_secret_post
Po registraci aplikace poskytne swissID následující informace. Tyto informace slouží ke konfiguraci toku uživatele nebo vlastních zásad.
Key Poznámka: Environment Známý koncový bod konfigurace SwissID OpenId. Například, https://login.sandbox.pre.swissid.ch/idp/oauth2/.well-known/openid-configuration
.ID klienta ID klienta SwissID. Například, 11111111-2222-3333-4444-555555555555
.Password Tajný klíč klienta SwissID.
Konfigurace SwissID jako zprostředkovatele identity
Pokud máte přístup k více tenantům, v horní nabídce vyberte ikonu Nastavení a v nabídce Adresáře a předplatná přepněte do svého tenanta Azure AD B2C.
V levém horním rohu webu Azure Portal zvolte Všechny služby a pak vyhledejte a vyberte Azure AD B2C.
Vyberte zprostředkovatele identity a pak vyberte Nový zprostředkovatele OpenID Připojení.
Zadejte Název. Zadejte například SwissID.
Jako adresu URL metadat zadejte známý koncový bod konfigurace SwissID OpenId. Příklad:
https://login.sandbox.pre.swissid.ch/idp/oauth2/.well-known/openid-configuration
Jako ID klienta zadejte ID klienta SwissID.
Jako tajný klíč klienta zadejte tajný klíč klienta SwissID.
Pro obor zadejte .
openid profile email
Ponechte výchozí hodnoty pro typ odpovědi a režim odpovědi.
(Volitelné) Jako nápovědu k doméně zadejte
swissid.com
. Další informace najdete v tématu Nastavení přímého přihlašování pomocí Azure Active Directory B2C.V části Mapování deklarací identity vyberte následující deklarace identity:
- ID uživatele: sub
- Jméno: given_name
- Příjmení: family_name
- E-mail: e-mail
Zvolte Uložit.
Přidání zprostředkovatele identity SwissID do toku uživatele
V tuto chvíli je nastavený zprostředkovatel identity SwissID, ale zatím není k dispozici na žádné přihlašovací stránce. Přidání zprostředkovatele identity SwissID do toku uživatele:
- V tenantovi Azure AD B2C vyberte Toky uživatelů.
- Klikněte na tok uživatele, který chcete přidat zprostředkovatele identity SwissID.
- V části Zprostředkovatelé sociálních identit vyberte SwissID.
- Zvolte Uložit.
- Pokud chcete zásady otestovat, vyberte Spustit tok uživatele.
- V části Aplikace vyberte webovou aplikaci s názvem testapp1 , kterou jste předtím zaregistrovali. Adresa URL odpovědi by se měla zobrazit
https://jwt.ms
. - Vyberte tlačítko Spustit tok uživatele.
- Na registrační nebo přihlašovací stránce vyberte SwissID a přihlaste se pomocí účtu SwissID.
Pokud je proces přihlášení úspěšný, prohlížeč se přesměruje na https://jwt.ms
obsah tokenu vráceného službou Azure AD B2C.
Vytvoření klíče zásad
V tenantovi Azure AD B2C musíte uložit tajný klíč klienta, který jste obdrželi ze SwissID.
- Přihlaste se k portálu Azure.
- Ujistěte se, že používáte adresář, který obsahuje vašeho tenanta Azure AD B2C. V horní nabídce vyberte filtr Adresář a předplatné a zvolte adresář, který obsahuje vašeho tenanta.
- V levém horním rohu webu Azure Portal zvolte Všechny služby a pak vyhledejte a vyberte Azure AD B2C.
- Na stránce Přehled vyberte rozhraní Identity Experience Framework.
- Vyberte Klíče zásad a pak vyberte Přidat.
- V nabídce Možnosti zvolte
Manual
. - Zadejte název klíče zásady. Například,
SwissIDSecret
. PředponaB2C_1A_
se automaticky přidá do názvu klíče. - V tajném kódu zadejte tajný klíč klienta SwissID.
- V případě použití klíče vyberte
Signature
. - Klikněte na Vytvořit.
Konfigurace SwissID jako zprostředkovatele identity
Pokud chcete uživatelům umožnit přihlášení pomocí účtu SwissID, musíte účet definovat jako zprostředkovatele deklarací identity, se kterým může Azure AD B2C komunikovat prostřednictvím koncového bodu. Koncový bod poskytuje sadu deklarací identity, které Azure AD B2C používá k ověření ověření konkrétního uživatele.
Účet SwissID můžete definovat jako zprostředkovatele deklarací tak, že ho přidáte do elementu ClaimsProviders v souboru s příponou vaší zásady.
Otevřete Soubor TrustFrameworkExtensions.xml.
Vyhledejte element ClaimsProviders . Pokud neexistuje, přidejte ho pod kořenový prvek.
Přidejte nový ClaimsProvider následujícím způsobem:
<ClaimsProvider> <Domain>SwissID.com</Domain> <DisplayName>SwissID</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="SwissID-OpenIdConnect"> <DisplayName>SwissID</DisplayName> <Protocol Name="OpenIdConnect" /> <Metadata> <Item Key="METADATA">https://login.sandbox.pre.swissid.ch/idp/oauth2/.well-known/openid-configuration</Item> <Item Key="client_id">Your Swiss client ID</Item> <Item Key="response_types">code</Item> <Item Key="scope">openid profile email</Item> <Item Key="response_mode">form_post</Item> <Item Key="HttpBinding">POST</Item> <Item Key="UsePolicyInRedirectUri">false</Item> </Metadata> <CryptographicKeys> <Key Id="client_secret" StorageReferenceId="B2C_1A_SwissIDSecret" /> </CryptographicKeys> <OutputClaims> <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" /> <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" /> <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" /> <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" /> <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" /> <OutputClaim ClaimTypeReferenceId="email" /> </OutputClaims> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" /> <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" /> <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" /> <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" /> <OutputClaimsTransformation ReferenceId="CreateDisplayName" /> </OutputClaimsTransformations> <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" /> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>
Nastavte client_id na ID klienta SwissID.
Soubor uložte.
Přidání cesty uživatele
V tuto chvíli je zprostředkovatele identity nastavený, ale zatím není k dispozici na žádné přihlašovací stránce. Pokud nemáte vlastní cestu uživatele, vytvořte duplikát existující cesty uživatele šablony, jinak pokračujte dalším krokem.
- Otevřete soubor TrustFrameworkBase.xml z úvodní sady.
- Najděte a zkopírujte celý obsah prvku UserJourney , který obsahuje
Id="SignUpOrSignIn"
. - Otevřete TrustFrameworkExtensions.xml a najděte element UserJourneys. Pokud prvek neexistuje, přidejte ho.
- Vložte celý obsah elementu UserJourney , který jste zkopírovali jako podřízený prvek UserJourneys .
- Přejmenujte ID cesty uživatele. Například,
Id="CustomSignUpSignIn"
.
Přidání zprostředkovatele identity do cesty uživatele
Teď, když máte cestu uživatele, přidejte do cesty uživatele nového zprostředkovatele identity. Nejdřív přidáte tlačítko pro přihlášení a pak tlačítko propočítáte s akcí. Akce je technický profil, který jste vytvořili dříve.
Najděte prvek kroku orchestrace, který zahrnuje
Type="CombinedSignInAndSignUp"
neboType="ClaimsProviderSelection"
na cestě uživatelem. Obvykle se jedná o první krok orchestrace. Element ClaimsProviderSelections obsahuje seznam zprostředkovatelů identity, se kterými se uživatel může přihlásit. Pořadí prvků řídí pořadí tlačítek pro přihlášení, která jsou uživateli prezentována. Přidejte element XML ClaimsProviderSelection. Nastavte hodnotu TargetClaimsExchangeId na popisný název.V dalším kroku orchestrace přidejte element ClaimsExchange . Nastavte ID na hodnotu ID cílové výměny deklarací identity. Aktualizujte hodnotu TechnicalProfileReferenceId na ID technického profilu, který jste vytvořili dříve.
Následující KÓD XML ukazuje první dva kroky orchestrace cesty uživatele se zprostředkovatelem identity:
<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
<ClaimsProviderSelections>
...
<ClaimsProviderSelection TargetClaimsExchangeId="SwissIDExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="SwissIDExchange" TechnicalProfileReferenceId="SwissID-OpenIdConnect" />
</ClaimsExchanges>
</OrchestrationStep>
Konfigurace zásad předávající strany
Zásady předávající strany, například SignUpSignIn.xml, určují cestu uživatele, kterou azure AD B2C spustí. Najděte element DefaultUserJourney v rámci předávající strany. Aktualizujte ID reference tak, aby odpovídalo ID cesty uživatele, do kterého jste přidali zprostředkovatele identity.
V následujícím příkladu CustomSignUpSignIn
je pro cestu uživatele nastavena hodnota ReferenceId na CustomSignUpSignIn
:
<RelyingParty>
<DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
...
</RelyingParty>
Nahrání vlastních zásad
- Přihlaste se k portálu Azure.
- Na panelu nástrojů portálu vyberte ikonu Adresář a předplatné a pak vyberte adresář, který obsahuje vašeho tenanta Azure AD B2C.
- Na webu Azure Portal vyhledejte a vyberte Azure AD B2C.
- V části Zásady vyberte Architekturu prostředí identit.
- Vyberte Nahrát vlastní zásady a potom nahrajte dva soubory zásad, které jste změnili, v následujícím pořadí: zásady rozšíření, například
TrustFrameworkExtensions.xml
, pak zásady předávající strany, napříkladSignUpSignIn.xml
.
Testování vlastních zásad
- Vyberte například zásadu
B2C_1A_signup_signin
předávající strany. - V části Aplikace vyberte webovou aplikaci, kterou jste předtím zaregistrovali. Adresa URL odpovědi by se měla zobrazit
https://jwt.ms
. - Vyberte tlačítko Spustit hned.
- Na registrační nebo přihlašovací stránce vyberte SwissID a přihlaste se pomocí účtu SwissID.
Pokud je proces přihlášení úspěšný, prohlížeč se přesměruje na https://jwt.ms
obsah tokenu vráceného službou Azure AD B2C.
Přesun do produkčního prostředí
SwissID IdP poskytuje předprodukční a produkční prostředí. Konfigurace popsaná v tomto článku používá předprodukční prostředí. Pokud chcete použít produkční prostředí, postupujte takto:
- Kontaktujte podporu SwissId pro produkční prostředí.
- Aktualizujte tok uživatele nebo vlastní zásady pomocí identifikátoru URI známého koncového bodu konfigurace.
Další kroky
Zjistěte, jak aplikaci předat token SwissID.