Delen via


Aanmelden instellen voor Microsoft Entra-id met meerdere tenants met behulp van aangepast beleid in 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.

In dit artikel leest u hoe u aanmelding inschakelt voor gebruikers die het eindpunt voor meerdere tenants voor Microsoft Entra-id gebruiken. Gebruikers van meerdere Microsoft Entra-tenants toestaan zich aan te melden met Azure AD B2C, zonder dat u een id-provider hoeft te configureren voor elke tenant. Gastleden in een van deze tenants kunnen zich echter niet aanmelden. Hiervoor moet u elke tenant afzonderlijk configureren.

Vereisten

Notitie

In dit artikel werd ervan uitgegaan dat het starterspakket SocialAndLocalAccounts wordt gebruikt in de vorige stappen die in de vereiste zijn vermeld.

Een Microsoft Entra-app registreren

Als u aanmelding wilt inschakelen voor gebruikers met een Microsoft Entra-account in Azure Active Directory B2C (Azure AD B2C), moet u een toepassing maken in Azure Portal. Zie Een toepassing registreren bij het Microsoft-identiteitsplatform voor meer informatie.

  1. Meld u aan bij de Azure-portal.

  2. Als u toegang hebt tot meerdere tenants, selecteert u het pictogram Instellingen in het bovenste menu om over te schakelen naar uw Microsoft Entra ID-tenant in het menu Mappen en abonnementen.

  3. Kies linksboven in de Azure Portal Alle services, zoek App-registraties en selecteer deze.

  4. Selecteer Nieuwe registratie.

  5. Voer een Naam in voor de toepassing. Bijvoorbeeld Azure AD B2C App.

  6. Selecteer Accounts in een organisatiemap (Elke Microsoft Entra-map – Multitenant) voor deze toepassing.

  7. Accepteer voor de omleidings-URI de waarde van het web en voer in alle kleine letters de volgende URL in, waarbij your-B2C-tenant-name deze wordt vervangen door de naam van uw Azure AD B2C-tenant.

    https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp
    

    Bijvoorbeeld https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/oauth2/authresp.

    Als u een aangepast domein gebruikt, voert u https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp in. Vervang your-domain-name door uw aangepaste domein en your-tenant-name door de naam van uw tenant.

  8. Selecteer Registreren. Noteer de Toepassings-id (client) voor gebruik in een latere stap.

  9. Selecteer Certificatengeheimen &en selecteer vervolgens Nieuw clientgeheim.

  10. Voer een beschrijving voor het geheim in, selecteer een vervaldatum en selecteer vervolgens Toevoegen. Noteer de waarde van het geheim voor gebruik in een latere stap.

Optionele claims configureren

Als u de family_nameclaims given_name van Microsoft Entra ID wilt ophalen, kunt u optionele claims voor uw toepassing configureren in de gebruikersinterface of het toepassingsmanifest van Azure Portal. Zie Optionele claims opgeven voor uw Microsoft Entra-app voor meer informatie.

  1. Meld u aan bij de Azure-portal. Zoek naar en selecteer Microsoft Entra ID.
  2. Selecteer App-registraties in de sectie Beheren.
  3. Selecteer de toepassing waarvoor u optionele claims wilt configureren in de lijst.
  4. Selecteer in de sectie Beheren de configuratie van het token.
  5. Selecteer Optionele claim toevoegen.
  6. Selecteer id voor het tokentype.
  7. Selecteer de optionele claims die u wilt toevoegen, family_nameen given_name.
  8. Selecteer Toevoegen. Als u de e-mailmachtiging van Microsoft Graph inschakelt (vereist voor claims die in het token moeten worden weergegeven), schakelt u deze in en selecteert u Opnieuw toevoegen .

[Optioneel] De echtheid van uw app verifiëren

Verificatie van uitgever helpt uw gebruikers inzicht te hebben in de echtheid van de app die u hebt geregistreerd. Een geverifieerde app betekent dat de uitgever van de app zijn identiteit heeft geverifieerd met behulp van het Microsoft Partner Network (MPN). Meer informatie over hoe u aangeeft dat uw app door de uitgever is geverifieerd.

Een beleidssleutel maken

U moet de toepassingssleutel opslaan die u hebt gemaakt in uw Azure AD B2C-tenant.

  1. 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.
  2. Kies Alle services linksboven in de Azure Portal, zoek Azure AD B2C en selecteer deze.
  3. Selecteer onder Beleid de optie Identity Experience Framework.
  4. Selecteer Beleidssleutels en vervolgens Toevoegen.
  5. Voor Opties kiest u Manual.
  6. Voer een naam in voor de beleidssleutel. Bijvoorbeeld AADAppSecret. Het voorvoegsel B2C_1A_ wordt automatisch toegevoegd aan de naam van uw sleutel wanneer deze wordt gemaakt, dus de verwijzing in de XML in de volgende sectie is om te B2C_1A_AADAppSecret.
  7. Voer in Geheim het clientgeheim in dat u eerder hebt genoteerd.
  8. Selecteer voor Sleutelgebruik de optie Signature.
  9. Selecteer Maken.

Microsoft Entra-id configureren als een id-provider

Als u wilt dat gebruikers zich kunnen aanmelden met een Microsoft Entra-account, moet u Microsoft Entra-id 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 Microsoft Entra-id definiëren als een claimprovider door Microsoft Entra-id toe te voegen aan het element ClaimsProvider in het extensiebestand van uw beleid.

  1. Open het bestand SocialAndLocalAccounts/TrustFrameworkExtensions.xml (zie de bestanden die u hebt gebruikt in de vereisten).

  2. Ga naar het element ClaimsProviders. Als dit niet voorkomt, voegt u het toe onder het hoofdelement.

  3. Voeg als volgt een nieuwe ClaimsProvider toe:

    <ClaimsProvider>
      <Domain>commonaad</Domain>
      <DisplayName>Common AAD</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="AADCommon-OpenIdConnect">
          <DisplayName>Multi-Tenant AAD</DisplayName>
          <Description>Login with your Contoso account</Description>
          <Protocol Name="OpenIdConnect"/>
          <Metadata>
            <Item Key="METADATA">https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration</Item>
            <!-- Update the Client ID below to the Application ID -->
            <Item Key="client_id">00000000-0000-0000-0000-000000000000</Item>
            <Item Key="response_types">code</Item>
            <Item Key="scope">openid profile</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
            <Item Key="DiscoverMetadataByTokenIssuer">true</Item>
            <!-- The key below allows you to specify each of the Azure AD tenants that can be used to sign in. Update the GUIDs below for each tenant. -->
            <Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000,https://login.microsoftonline.com/11111111-1111-1111-1111-111111111111</Item>
            <!-- The commented key below specifies that users from any tenant can sign-in. Uncomment if you would like anyone with an Azure AD account to be able to sign in. -->
            <!-- <Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/</Item> -->
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_AADAppSecret"/>
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="oid"/>
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName"/>
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName"/>
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId"/>
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId"/>
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin"/>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Werk onder het element ClaimsProvider de waarde voor domein bij naar een unieke waarde die kan worden gebruikt om deze te onderscheiden van andere id-providers.

  5. Werk onder het element TechnicalProfile bijvoorbeeld de waarde voor DisplayNameMulti-Tenant AAD bij. Deze waarde wordt weergegeven op de aanmeldingsknop op uw aanmeldingspagina.

  6. Stel client_id in op de toepassings-id van de Microsoft Entra-toepassing met meerdere tenants die u eerder hebt geregistreerd.

  7. Werk onder CryptographicKeys de waarde van StorageReferenceId bij naar de naam van de beleidssleutel die u eerder hebt gemaakt. Bijvoorbeeld B2C_1A_AADAppSecret.

Toegang beperken

Als https://login.microsoftonline.com/ waarde voor ValidTokenIssuerPrefixes kunnen alle Microsoft Entra-gebruikers zich aanmelden bij uw toepassing. Werk de lijst met geldige tokenverleners bij en beperk de toegang tot een specifieke lijst met Microsoft Entra-tenantgebruikers die zich kunnen aanmelden.

Als u de waarden wilt ophalen, bekijkt u de OpenID Verbinding maken detectiemetagegevens voor alle Microsoft Entra-tenants waaruit u gebruikers zich wilt laten aanmelden. De indeling van de metagegevens-URL is vergelijkbaar met https://login.microsoftonline.com/your-tenant/v2.0/.well-known/openid-configurationde your-tenant naam van uw Microsoft Entra-tenant. Bijvoorbeeld:

https://login.microsoftonline.com/fabrikam.onmicrosoft.com/v2.0/.well-known/openid-configuration

Voer deze stappen uit voor elke Microsoft Entra-tenant die moet worden gebruikt om u aan te melden:

  1. Open uw browser en ga naar de OpenID Verbinding maken metagegevens-URL voor de tenant. Zoek het object en noteer de issuer waarde. Het moet er ongeveer als https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/v2.0volgt uitzien.
  2. Kopieer en plak de waarde in de sleutel ValidTokenIssuerPrefixes . Scheid meerdere verleners met een komma. Een voorbeeld met twee verleners wordt weergegeven in het vorige ClaimsProvider XML-voorbeeld.

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.

  1. Open het bestand TrustFrameworkBase.xml vanuit het starterspakket.
  2. Zoek en kopieer de volledige inhoud van het element UserJourney dat Id="SignUpOrSignIn" bevat.
  3. Open het bestand TrustFrameworkExtensions.xml en ga naar het element UserJourneys. Als het element niet voorkomt, voegt u het toe.
  4. Plak de volledige inhoud van het element UserJourney dat u hebt gekopieerd als een onderliggend element van het element UserJourneys.
  5. 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.

  1. Ga in het gebruikerstraject naar het element van de indelingsstap dat Type="CombinedSignInAndSignUp" of Type="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.

  2. 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="AzureADCommonExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="AzureADCommonExchange" TechnicalProfileReferenceId="AADCommon-OpenIdConnect" />
  </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

  1. Meld u aan bij de Azure-portal.
  2. Selecteer het pictogram Map + Abonnement in de werkbalk van de portal en selecteer vervolgens de map die uw Azure AD B2C-tenant bevat.
  3. Zoek en selecteer Azure AD B2C in de Azure-portal.
  4. Selecteer onder Beleid de optie Identity Experience Framework.
  5. 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, zoals SignUpSignIn.xml.

Uw aangepaste beleid testen

  1. Selecteer uw Relying Party-beleid, bijvoorbeeld B2C_1A_signup_signin.
  2. Selecteer voor Toepassing een webtoepassing die u eerder hebt geregistreerd. De antwoord-URL moet https://jwt.ms weergeven.
  3. Selecteer de knop Nu uitvoeren.
  4. Selecteer op de registratie- of aanmeldingspagina algemene Microsoft Entra-id om u aan te melden met het Microsoft Entra-account.

Als u de aanmeldingsmogelijkheid voor meerdere tenants wilt testen, voert u de laatste twee stappen uit met behulp van de referenties voor een gebruiker die een andere Microsoft Entra-tenant bestaat. Kopieer het eindpunt Nu uitvoeren en open het in een privébrowservenster, bijvoorbeeld incognitomodus in Google Chrome of een InPrivate-venster in Microsoft Edge. Als u in een privébrowservenster opent, kunt u het volledige gebruikerstraject testen door momenteel geen Microsoft Entra-referenties in de cache te gebruiken.

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.

Volgende stappen