Delen via


Een toegangstoken van een id-provider doorgeven aan uw toepassing in Azure Active Directory B2C

Belangrijk

Vanaf 1 mei 2025 is Azure AD B2C niet meer beschikbaar voor nieuwe klanten. Meer informatie vindt u in onze veelgestelde vragen.

Voordat u begint, gebruikt u de selector Een beleidstype kiezen boven aan deze pagina 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.

Een gebruikersstroom in Azure Active Directory B2C (Azure AD B2C) biedt gebruikers van uw toepassing de mogelijkheid om zich te registreren of aan te melden bij een id-provider. Wanneer de reis begint, ontvangt Azure AD B2C een toegangstoken van de id-provider. Azure AD B2C gebruikt dat token om informatie over de gebruiker op te halen. U schakelt een claim in uw gebruikersstroom in om het token door te geven aan de toepassingen die u registreert in Azure AD B2C.

Azure AD B2C biedt ondersteuning voor het doorgeven van het toegangstoken van OAuth 2.0-id-providers , waaronder Facebook en Google. Voor alle andere id-providers wordt de claim leeg geretourneerd.

Azure AD B2C biedt ondersteuning voor het doorgeven van het toegangstoken van OAuth 2.0 - en OpenID Connect-id-providers. Voor alle andere id-providers wordt de claim leeg geretourneerd. Bekijk de live demo van de federatie van identiteitsproviders voor meer informatie.

In het volgende diagram ziet u hoe een token van een id-provider wordt teruggestuurd naar uw app:

Identiteitsprovider-doorstroom

Vereiste voorwaarden

De claim inschakelen

  1. Meld u aan bij Azure Portal als de beheerder van de gebruikersstroom voor externe id's van uw Azure AD B2C-tenant.

  2. Als u toegang hebt tot meerdere tenants, selecteert u het pictogram Instellingen in het hoofdmenu om over te schakelen naar uw Azure AD B2C-tenant vanuit het menu Mappen + abonnementen.

  3. Kies Alle services in de linkerbovenhoek van Azure Portal, zoek en selecteer Azure AD B2C.

  4. Selecteer Gebruikersstromen (beleid) en selecteer vervolgens uw gebruikersstroom. Bijvoorbeeld B2C_1_signupsignin1.

  5. Selecteer Toepassingsclaims.

  6. Schakel de toegangstokenclaim van de identiteitsprovider in.

    De toegangstokenclaim van de identiteitsprovider inschakelen

  7. Klik op Opslaan om de gebruikersstroom op te slaan.

De gebruikersstroom testen

Wanneer u uw toepassingen in Azure AD B2C test, kan het handig zijn om het Azure AD B2C-token terug te laten sturen https://jwt.ms om de claims erin te bekijken.

  1. Selecteer op de pagina Overzicht van de gebruikersstroom de optie Gebruikersstroom uitvoeren.

  2. Selecteer voor Toepassing uw toepassing die u eerder hebt geregistreerd. Als u het token in het onderstaande voorbeeld wilt zien, moet in de antwoord-URLhttps://jwt.ms worden weergegeven.

  3. Klik op Gebruikersstroom uitvoeren en meld u aan met uw accountgegevens. U zou het toegangstoken van de identiteitsprovider moeten zien in de idp_access_token claim.

    U zou iets moeten zien dat lijkt op het volgende voorbeeld:

    Gedecodeerd token in jwt.ms met idp_access_token blok gemarkeerd

De declaratie-elementen toevoegen

  1. Open uw TrustframeworkExtensions.xml bestand en voeg het volgende ClaimType-element met een id van identityProviderAccessToken toe aan het ClaimsSchema-element :

    <BuildingBlocks>
      <ClaimsSchema>
        <ClaimType Id="identityProviderAccessToken">
          <DisplayName>Identity Provider Access Token</DisplayName>
          <DataType>string</DataType>
          <AdminHelpText>Stores the access token of the identity provider.</AdminHelpText>
        </ClaimType>
        ...
      </ClaimsSchema>
    </BuildingBlocks>
    
  2. Voeg het element OutputClaim toe aan het element TechnicalProfile voor elke OAuth 2.0-identiteitsprovider waarvoor u het toegangstoken wilt hebben. In het volgende voorbeeld ziet u het element dat is toegevoegd aan het technische profiel van Facebook:

    <ClaimsProvider>
      <DisplayName>Facebook</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Facebook-OAUTH">
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="identityProviderAccessToken" PartnerClaimType="{oauth2:access_token}" />
          </OutputClaims>
          ...
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  3. Sla het TrustframeworkExtensions.xml bestand op.

  4. Open het beleidsbestand van de relying party, zoals SignUpOrSignIn.xml, en voeg het element OutputClaim toe aan het TechnicalProfile:

    <RelyingParty>
      <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
      <TechnicalProfile Id="PolicyProfile">
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="identityProviderAccessToken" PartnerClaimType="idp_access_token"/>
        </OutputClaims>
        ...
      </TechnicalProfile>
    </RelyingParty>
    
  5. Sla het beleidsbestand op.

Uw beleid testen

Bij het testen van uw toepassingen in Azure AD B2C kan het handig zijn om het Azure AD B2C-token naar https://jwt.ms te sturen, zodat u de claims erin kunt bekijken.

De bestanden uploaden

  1. Meld u aan bij het Azure-portaal.
  2. Als u toegang hebt tot meerdere tenants, selecteert u het pictogram Instellingen in het hoofdmenu om over te schakelen naar uw Azure AD B2C-tenant vanuit het menu Mappen + abonnementen.
  3. Kies Alle services in de linkerbovenhoek van de Azure Portal en zoek naar en selecteer Azure AD B2C.
  4. Kies Identity Experience Framework.
  5. Klik op de pagina Aangepast beleid op Uploadbeleid.
  6. Selecteer Het beleid overschrijven als dit bestaat en zoek en selecteer vervolgens het TrustframeworkExtensions.xml bestand.
  7. Klik op Uploaden.
  8. Herhaal stap 5 tot en met 7 voor het bestand van de relying party, zoals SignUpOrSignIn.xml.

Het beleid uitvoeren

  1. Open het beleid dat u heeft gewijzigd. Bijvoorbeeld B2C_1A_signup_signin.

  2. Selecteer voor Toepassing uw toepassing die u eerder hebt geregistreerd. Als u het token in het onderstaande voorbeeld wilt zien, moet in de antwoord-URLhttps://jwt.ms worden weergegeven.

  3. Selecteer Nu uitvoeren.

    U zou iets moeten zien dat lijkt op het volgende voorbeeld:

    Gedecodeerd token in jwt.ms met idp_access_token blok gemarkeerd

Geef de IDP-refresh-token door (optioneel)

Het toegangstoken dat de identiteitsprovider retourneert, is geldig voor een korte periode. Sommige id-providers geven ook een vernieuwingstoken uit samen met het toegangstoken. Uw clienttoepassing kan vervolgens het vernieuwingstoken van de identiteitsprovider inwisselen voor een nieuw toegangstoken wanneer dat nodig is.

Aangepast Azure AD B2C-beleid ondersteunt het doorgeven van het vernieuwingstoken van OAuth 2.0-id-providers, waaronder Facebook, Google en GitHub.

Ga als volgt te werk om het vernieuwingstoken van de identiteitsprovider door te geven:

  1. Open uw TrustframeworkExtensions.xml bestand en voeg het volgende ClaimType-element met een id van identityProviderRefreshToken toe aan het ClaimsSchema-element .

    <ClaimType Id="identityProviderRefreshToken">
        <DisplayName>Identity provider refresh token</DisplayName>
        <DataType>string</DataType>
    </ClaimType>
    
  2. Voeg het element OutputClaim toe aan het element TechnicalProfile voor elke OAuth 2.0-identiteitsprovider waarvoor u het vernieuwingstoken wilt gebruiken. In het volgende voorbeeld ziet u het element dat is toegevoegd aan het technische profiel van Facebook:

    <ClaimsProvider>
      <DisplayName>Facebook</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Facebook-OAUTH">
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="identityProviderRefreshToken" PartnerClaimType="{oauth2:refresh_token}" />
          </OutputClaims>
          ...
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  3. Bij sommige identiteitsproviders moet u metagegevens of scopes opnemen in het technische profiel van de identiteitsprovider.

    • Voeg voor de Google Identity-provider twee claimtypen access_type en prompt. Voeg vervolgens de volgende invoerclaims toe aan het technische profiel van de identiteitsprovider:

      <InputClaims>
          <InputClaim ClaimTypeReferenceId="access_type" PartnerClaimType="access_type" DefaultValue="offline" AlwaysUseDefaultValue="true" />
      
          <!-- The refresh_token is return only on the first authorization for a given user. Subsequent authorization request doesn't return the refresh_token.
              To fix this issue we add the prompt=consent query string parameter to the authorization request-->
          <InputClaim ClaimTypeReferenceId="prompt" PartnerClaimType="prompt" DefaultValue="consent" AlwaysUseDefaultValue="true" />
      </InputClaims>
      
    • Andere id-providers kunnen verschillende methoden hebben om een vernieuwingstoken uit te geven. Volg het publiek van de identiteitsprovider en voeg de nodige elementen toe aan het technische profiel van uw identiteitsprovider.

  4. Sla de wijzigingen die u hebt aangebracht op in uw TrustframeworkExtensions.xml bestand.

  5. Open het beleidsbestand van de relying party, zoals SignUpOrSignIn.xml, en voeg het element OutputClaim toe aan het TechnicalProfile:

    <RelyingParty>
      <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
      <TechnicalProfile Id="PolicyProfile">
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="identityProviderRefreshToken" PartnerClaimType="idp_refresh_token"/>
        </OutputClaims>
        ...
      </TechnicalProfile>
    </RelyingParty>
    
  6. Sla de wijzigingen die u heeft aangebracht op in het beleidsbestand van de vertrouwende partij van uw beleid.

  7. Upload het TrustframeworkExtensions.xml bestand en vervolgens het beleidsbestand voor de relying party.

  8. Test uw beleid

Volgende stappen

Meer informatie vindt u in het overzicht van Azure AD B2C-tokens.