Registreren en aanmelden met een ID.me-account instellen met behulp van Azure Active Directory B2C
Voordat u begint, gebruikt u de selector Een beleidstype kiezen om het type beleid te kiezen dat u instelt. U kunt in Azure Active Directory B2C op twee manieren definiëren hoe gebruikers met uw toepassingen communiceren: via vooraf gedefinieerde gebruikersstromen of via volledig configureerbaar aangepast beleid. De stappen die in dit artikel zijn vereist, verschillen voor elke methode.
Deze functie is alleen beschikbaar voor aangepast beleid. Voor configuratiestappen selecteert u Aangepast beleid in de voorgaande selector.
Vereisten
- Voer de stappen uit die in Aan de slag met aangepast beleid in Active Directory B2C worden beschreven.
- Als u dit nog niet hebt gedaan, registreert u een webtoepassing.
Een ID.me-toepassing maken
Als u aanmelding wilt inschakelen voor gebruikers met een ID.me-account in Azure Active Directory B2C (Azure AD B2C), moet u een toepassing maken in ID.me Developer Resources for API & SDK. Zie de OAuth-integratiehandleiding voor meer informatie. Als u nog geen ID.me ontwikkelaarsaccount hebt, kunt u zich aanmelden op https://developers.id.me/registration/new.
- Meld u aan bij de ID.me Developer Resources for API & SDK met de referenties van uw ID.me-account.
- Selecteer Mijn toepassingen weergeven en selecteer Doorgaan.
- Selecteer Nieuwe maken
- Voer een naam en weergavenaam in.
- Voer in de omleidings-URI het volgende in
https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp
. Als u een aangepast domein gebruikt, voert uhttps://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp
in. Vervangyour-tenant-name
door uw de naam van uw tenant enyour-domain-name
door de van uw aangepaste domein.
- Klik op Doorgaan.
- Kopieer de waarden van client-id en clientgeheim. U moet beide de id-provider toevoegen aan uw tenant.
Een beleidssleutel maken
U moet het clientgeheim opslaan dat u eerder hebt vastgelegd in uw Azure AD B2C-tenant.
- Meld u aan bij de Azure-portal.
- Als u toegang hebt tot meerdere tenants, selecteert u het pictogram Instellingen in het bovenste menu om over te schakelen naar uw Azure AD B2C-tenant in het menu Mappen en abonnementen.
- Kies Alle services linksboven in de Azure Portal, zoek Azure AD B2C en selecteer deze.
- Selecteer Identity Experience Framework op de overzichtspagina.
- Selecteer Beleidssleutels en vervolgens Toevoegen.
- Voor Opties kiest u
Manual
. - Voer een naam in voor de beleidssleutel. Bijvoorbeeld
IdMeSecret
. Het voorvoegselB2C_1A_
wordt automatisch toegevoegd aan de naam van uw sleutel. - Voor in Geheim het clientgeheim in dat u eerder hebt genoteerd.
- Selecteer voor Sleutelgebruik de optie
Signature
. - Klik op Create.
ID.me configureren als id-provider
Als u wilt dat gebruikers zich kunnen aanmelden met behulp van een ID.me-account, moet u het account definiëren als een claimprovider waarmee Azure AD B2C kan communiceren via een eindpunt. Het eindpunt biedt een set claims die worden gebruikt door Azure AD B2C om te controleren of een specifieke gebruiker is geverifieerd.
U kunt een ID.me-account definiëren als claimprovider door dit toe te voegen aan het element ClaimsProviders in het extensiebestand van uw beleid.
Open het bestand TrustFrameworkExtensions.xml.
Ga naar het element ClaimsProviders. Als dit niet voorkomt, voegt u het toe onder het hoofdelement.
Voeg als volgt een nieuwe ClaimsProvider toe:
<ClaimsProvider> <Domain>id.me</Domain> <DisplayName>ID.me</DisplayName> <TechnicalProfiles> <TechnicalProfile Id="IdMe-OAuth2"> <DisplayName>IdMe</DisplayName> <Protocol Name="OAuth2" /> <Metadata> <Item Key="ProviderName">api.id.me</Item> <Item Key="authorization_endpoint">https://api.id.me/oauth/authorize</Item> <Item Key="AccessTokenEndpoint">https://api.id.me/oauth/token</Item> <Item Key="ClaimsEndpoint">https://api.id.me/api/public/v2/attributes.json</Item> <Item Key="HttpBinding">POST</Item> <Item Key="scope">openid alumni</Item> <Item Key="UsePolicyInRedirectUri">0</Item> <!-- Update the Client ID below to the Application ID --> <Item Key="client_id">Your ID.me application ID</Item> </Metadata> <CryptographicKeys> <Key Id="client_secret" StorageReferenceId="B2C_1A_IdMeSecret"/> </CryptographicKeys> <OutputClaims> <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="uuid" /> <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="fname" /> <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="lname" /> <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" /> <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" /> <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="me.id.com" AlwaysUseDefaultValue="true" /> <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" /> </OutputClaims> <OutputClaimsTransformations> <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" /> <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" /> <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" /> <OutputClaimsTransformation ReferenceId="CreateDisplayNameFromFirstNameAndLastName" /> </OutputClaimsTransformations> <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" /> </TechnicalProfile> </TechnicalProfiles> </ClaimsProvider>
Stel client_id in op de toepassings-id van de toepassingsregistratie.
Sla het bestand op.
De claimtransformaties toevoegen
Vervolgens hebt u een claimtransformatie nodig om de displayName-claim te maken. Voeg de volgende claimtransformatie toe aan het element <ClaimsTransformations>
in <BuildingBlocks>
.
<ClaimsTransformations>
<ClaimsTransformation Id="CreateDisplayNameFromFirstNameAndLastName" TransformationMethod="FormatStringMultipleClaims">
<InputClaims>
<InputClaim ClaimTypeReferenceId="givenName" TransformationClaimType="inputClaim1" />
<InputClaim ClaimTypeReferenceId="surName" TransformationClaimType="inputClaim2" />
</InputClaims>
<InputParameters>
<InputParameter Id="stringFormat" DataType="string" Value="{0} {1}" />
</InputParameters>
<OutputClaims>
<OutputClaim ClaimTypeReferenceId="displayName" TransformationClaimType="outputClaim" />
</OutputClaims>
</ClaimsTransformation>
</ClaimsTransformations>
Een gebruikerstraject toevoegen
Op dit punt is de id-provider ingesteld, maar is deze nog niet beschikbaar op een van de aanmeldingspagina's. Als u niet over een eigen aangepast gebruikerstraject beschikt, maakt u een duplicaat van een bestaand gebruikerstrajectsjabloon. In het andere geval gaat u verder met de volgende stap.
- Open het bestand TrustFrameworkBase.xml vanuit het starterspakket.
- Zoek en kopieer de volledige inhoud van het element UserJourney dat
Id="SignUpOrSignIn"
bevat. - Open het bestand TrustFrameworkExtensions.xml en ga naar het element UserJourneys. Als het element niet voorkomt, voegt u het toe.
- Plak de volledige inhoud van het element UserJourney dat u hebt gekopieerd als een onderliggend element van het element UserJourneys.
- Wijzig de naam van de id van het gebruikerstraject. Bijvoorbeeld
Id="CustomSignUpSignIn"
.
De id-provider toevoegen aan een gebruikerstraject
Nu u over een gebruikerstraject beschikt, voegt u de nieuwe id-provider toe aan het gebruikerstraject. U voegt eerst een aanmeldingsknop toe en koppelt de knop aan een actie. De actie is het technische profiel dat u eerder hebt gemaakt.
Ga in het gebruikerstraject naar het element van de indelingsstap dat
Type="CombinedSignInAndSignUp"
ofType="ClaimsProviderSelection"
bevat. Dit is doorgaans de eerste indelingsstap. Het element ClaimsProviderSelections bevat een lijst met id-providers waarmee een gebruiker zich kan aanmelden. De volgorde van de elementen bepaalt de volgorde van de aanmeldingsknoppen die aan de gebruiker worden gepresenteerd. Voeg een XML-element ClaimsProviderSelection toe. Stel de waarde van TargetClaimsExchangeId in op een beschrijvende naam.Voeg in de volgende indelingsstap een element ClaimsExchange toe. Stel de id in op de waarde van de Exchange-id van de doelclaims. Werk de waarde van TechnicalProfileReferenceId bij naar de id van het technische profiel dat u eerder hebt gemaakt.
In de volgende XML ziet u de eerste twee indelingsstappen van een gebruikerstraject met de id-provider:
<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
<ClaimsProviderSelections>
...
<ClaimsProviderSelection TargetClaimsExchangeId="IdMeExchange" />
</ClaimsProviderSelections>
...
</OrchestrationStep>
<OrchestrationStep Order="2" Type="ClaimsExchange">
...
<ClaimsExchanges>
<ClaimsExchange Id="IdMeExchange" TechnicalProfileReferenceId="IdMe-OAuth2" />
</ClaimsExchanges>
</OrchestrationStep>
Het Relying Party-beleid configureren
Met het Relying Party-beleid, bijvoorbeeld SignUpSignIn.xml, wordt het gebruikerstraject opgegeven dat door Azure AD B2C wordt uitgevoerd. Ga naar het element DefaultUserJourney binnen de Relying Party. Werk de ReferenceId bij zodat deze overeenkomt met de gebruikerstraject-id, waarin u de id-provider hebt toegevoegd.
In het volgende voorbeeld is voor het CustomSignUpSignIn
-gebruikerstraject de ReferenceId ingesteld op CustomSignUpSignIn
:
<RelyingParty>
<DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
...
</RelyingParty>
Het aangepaste beleid uploaden
- Meld u aan bij de Azure-portal.
- Selecteer het pictogram Map + Abonnement in de werkbalk van de portal en selecteer vervolgens de map die uw Azure AD B2C-tenant bevat.
- Zoek en selecteer Azure AD B2C in de Azure-portal.
- Selecteer onder Beleid de optie Identity Experience Framework.
- Selecteer Aangepast beleid uploaden en upload vervolgens de twee beleidsbestanden die u hebt gewijzigd, in de volgende volgorde: het uitbreidingsbeleid, bijvoorbeeld
TrustFrameworkExtensions.xml
en vervolgens het Relying Party-beleid, zoalsSignUpSignIn.xml
.
Uw aangepaste beleid testen
- Selecteer uw Relying Party-beleid, bijvoorbeeld
B2C_1A_signup_signin
. - Selecteer voor Toepassing een webtoepassing die u eerder hebt geregistreerd. De antwoord-URL moet
https://jwt.ms
weergeven. - Selecteer de knop Nu uitvoeren.
- Selecteer op de registratie- of aanmeldingspagina ID.me om u aan te melden met ID.me account.
Als het aanmeldingsproces is voltooid, wordt uw browser omgeleid naar https://jwt.ms
, waar de inhoud van het door Azure AD B2C geretourneerde token wordt weergegeven.