Megosztás a következőn keresztül:


Identitásszolgáltatói hozzáférési jogkivonat átadása az alkalmazásnak az Azure Active Directory B2C-ben

Mielőtt hozzákezdene, a Szabályzattípus kiválasztása választóval válassza ki a beállított szabályzat típusát. Az Azure Active Directory B2C két módszert kínál annak meghatározására, hogy a felhasználók hogyan használják az alkalmazásokat: előre definiált felhasználói folyamatokon vagy teljesen konfigurálható egyéni szabályzatokon keresztül. A cikkben szereplő lépések különbözőek az egyes metódusok esetében.

Az Azure Active Directory B2C (Azure AD B2C) felhasználói folyamata lehetőséget biztosít az alkalmazás felhasználóinak, hogy regisztráljanak vagy jelentkezzenek be egy identitásszolgáltatónál. Az út megkezdésekor az Azure AD B2C hozzáférési jogkivonatot kap az identitásszolgáltatótól. Az Azure AD B2C ezzel a jogkivonattal kéri le a felhasználó adatait. Engedélyezheti, hogy a felhasználói folyamatban lévő jogcím átadja a jogkivonatot az Azure AD B2C-ben regisztrált alkalmazásoknak.

Az Azure AD B2C támogatja az OAuth 2.0 identitásszolgáltatók hozzáférési jogkivonatának átadását, amelyek közé tartozik a Facebook és a Google. Az összes többi identitásszolgáltató esetében a jogcím üres.

Az Azure AD B2C támogatja az OAuth 2.0 és az OpenID Csatlakozás identitásszolgáltatók hozzáférési jogkivonatának átadását. Az összes többi identitásszolgáltató esetében a jogcím üres. További részletekért tekintse meg az identitásszolgáltatók összevonásának élő bemutatóját.

Az alábbi ábra bemutatja, hogyan tér vissza egy identitásszolgáltatói jogkivonat az alkalmazáshoz:

Identity provider pass through flow

Előfeltételek

A jogcím engedélyezése

  1. Jelentkezzen be az Azure Portalra az Azure AD B2C-bérlő globális rendszergazdájaként.

  2. Ha több bérlőhöz is hozzáfér, a felső menüben válassza a Gépház ikont az Azure AD B2C-bérlőre való váltáshoz a Címtárak + előfizetések menüből.

  3. Válassza az Azure Portal bal felső sarkában található Minden szolgáltatás lehetőséget, majd keresse meg és válassza ki az Azure AD B2C-t.

  4. Válassza ki a Felhasználói folyamatok (szabályzatok) lehetőséget, majd válassza ki a felhasználói folyamatot. Például B2C_1_signupsignin1.

  5. Válassza az Alkalmazásjogcímek lehetőséget.

  6. Engedélyezze az identitásszolgáltató hozzáférési jogkivonatának jogcímét.

    Enable the Identity Provider Access Token claim

  7. Kattintson a Mentés gombra a felhasználói folyamat mentéséhez.

A felhasználói folyamat tesztelése

Ha az alkalmazásokat az Azure AD B2C-ben teszteli, hasznos lehet az Azure AD B2C-jogkivonat visszaadása a benne lévő jogcímek áttekintéséhez https://jwt.ms .

  1. A felhasználói folyamat Áttekintés lapján válassza a Felhasználói folyamat futtatása lehetőséget.

  2. Alkalmazás esetén válassza ki a korábban regisztrált alkalmazást. Az alábbi példában látható jogkivonat megtekintéséhez a Válasz URL-címnek kell megjelennie https://jwt.ms.

  3. Kattintson a Felhasználói folyamat futtatása elemre, majd jelentkezzen be a fiók hitelesítő adataival. Az identitásszolgáltató hozzáférési jogkivonatának a idp_access_token jogcímben kell megjelennie.

    A következő példához hasonlót kell látnia:

    Decoded token in jwt.ms with idp_access_token block highlighted

A jogcímelemek hozzáadása

  1. Nyissa meg az TrustframeworkExtensions.xml fájlt, és adja hozzá a következő ClaimType elemet a ClaimsSchema elem azonosítójávalidentityProviderAccessToken:

    <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. Adja hozzá az OutputClaim elemet a TechnicalProfile elemhez minden olyan OAuth 2.0-identitásszolgáltatóhoz, amelyhez a hozzáférési jogkivonatot használni szeretné. Az alábbi példa a Facebook technikai profilhoz hozzáadott elemet mutatja be:

    <ClaimsProvider>
      <DisplayName>Facebook</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Facebook-OAUTH">
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="identityProviderAccessToken" PartnerClaimType="{oauth2:access_token}" />
          </OutputClaims>
          ...
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  3. Mentse az TrustframeworkExtensions.xml fájlt.

  4. Nyissa meg a függő entitás házirendfájlját (például SignUpOrSignIn.xml), és adja hozzá az OutputClaim elemet a TechnicalProfile-hoz:

    <RelyingParty>
      <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
      <TechnicalProfile Id="PolicyProfile">
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="identityProviderAccessToken" PartnerClaimType="idp_access_token"/>
        </OutputClaims>
        ...
      </TechnicalProfile>
    </RelyingParty>
    
  5. Mentse a szabályzatfájlt.

Test your policy

Ha az alkalmazásokat az Azure AD B2C-ben teszteli, hasznos lehet az Azure AD B2C-jogkivonat visszaadása, hogy https://jwt.ms áttekinthesse a benne lévő jogcímeket.

A fájlok feltöltése

  1. Jelentkezzen be az Azure Portalra.
  2. Ha több bérlőhöz is hozzáfér, a felső menüben válassza a Gépház ikont az Azure AD B2C-bérlőre való váltáshoz a Címtárak + előfizetések menüből.
  3. Válassza az Összes szolgáltatást az Azure Portal bal felső sarkában, majd keresse meg és válassza az Azure AD B2C-t.
  4. Válassza az Identity Experience Framework lehetőséget.
  5. Az Egyéni szabályzatok lapon kattintson a Szabályzat feltöltése elemre.
  6. Válassza a Szabályzat felülírása, ha létezik, majd keresse meg és válassza ki az TrustframeworkExtensions.xml fájlt.
  7. Válassza a Feltöltés lehetőséget.
  8. Ismételje meg az 5–7. lépést a függő entitásfájlhoz, például a SignUpOrSignIn.xml fájlhoz.

A szabályzat futtatása

  1. Nyissa meg a módosított szabályzatot. Például B2C_1A_signup_signin.

  2. Alkalmazás esetén válassza ki a korábban regisztrált alkalmazást. Az alábbi példában látható jogkivonat megtekintéséhez a Válasz URL-címnek kell megjelennie https://jwt.ms.

  3. Válassza a Futtatás most lehetőséget.

    A következő példához hasonlót kell látnia:

    Decoded token in jwt.ms with idp_access_token block highlighted

Adja át az IDP frissítési jogkivonatát (nem kötelező)

Az identitásszolgáltató által visszaadott hozzáférési jogkivonat rövid ideig érvényes. Egyes identitásszolgáltatók is kibocsátanak egy frissítési jogkivonatot a hozzáférési jogkivonattal együtt. Az ügyfélalkalmazás ezután szükség esetén kicserélheti az identitásszolgáltató frissítési jogkivonatát egy új hozzáférési jogkivonatra.

Az Azure AD B2C egyéni szabályzata támogatja az OAuth 2.0 identitásszolgáltatók frissítési jogkivonatának átadását, beleértve a Facebookot, a Google-t és a GitHubot is.

Az identitásszolgáltató frissítési jogkivonatának átadásához kövesse az alábbi lépéseket:

  1. Nyissa meg az TrustframeworkExtensions.xml fájlt, és adja hozzá a következő ClaimType elemet a ClaimsSchema elem azonosítójávalidentityProviderRefreshToken.

    <ClaimType Id="identityProviderRefreshToken">
        <DisplayName>Identity provider refresh token</DisplayName>
        <DataType>string</DataType>
    </ClaimType>
    
  2. Adja hozzá az OutputClaim elemet a TechnicalProfile elemhez minden olyan OAuth 2.0-identitásszolgáltatóhoz, amelynél a frissítési jogkivonatot használni szeretné. Az alábbi példa a Facebook technikai profilhoz hozzáadott elemet mutatja be:

    <ClaimsProvider>
      <DisplayName>Facebook</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Facebook-OAUTH">
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="identityProviderRefreshToken" PartnerClaimType="{oauth2:refresh_token}" />
          </OutputClaims>
          ...
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  3. Egyes identitásszolgáltatók megkövetelik, hogy metaadatokat vagy hatóköröket adjon meg az identitásszolgáltató technikai profiljához.

    • A Google identitásszolgáltatója esetében adjon hozzá két jogcímtípust access_type és prompt. Ezután adja hozzá a következő bemeneti jogcímeket az identitásszolgáltató technikai profiljához:

      <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>
      
    • Más identitásszolgáltatók különböző módszerekkel adhatnak ki frissítési jogkivonatot. Kövesse az identitásszolgáltató célközönségét, és adja hozzá a szükséges elemeket az identitásszolgáltató technikai profiljához.

  4. Mentse a TrustframeworkExtensions.xml fájlban végrehajtott módosításokat.

  5. Nyissa meg a függő entitás házirendfájlját (például SignUpOrSignIn.xml), és adja hozzá az OutputClaim elemet a TechnicalProfile-hoz:

    <RelyingParty>
      <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
      <TechnicalProfile Id="PolicyProfile">
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="identityProviderRefreshToken" PartnerClaimType="idp_refresh_token"/>
        </OutputClaims>
        ...
      </TechnicalProfile>
    </RelyingParty>
    
  6. Mentse a házirend függő entitás házirendfájljában végrehajtott módosításokat.

  7. Töltse fel a TrustframeworkExtensions.xml fájlt, majd a függő entitás házirendfájlt.

  8. A szabályzat tesztelése

Következő lépések

További információ az Azure AD B2C-jogkivonatok áttekintéséről.