Regisztráció és bejelentkezés beállítása Twitter-fiókkal Azure Active Directory B2C használatával

Mielőtt hozzákezdene, válassza ki a beállított szabályzattípust a Szabályzattípus kiválasztása választóval. 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. Az ebben a cikkben ismertetett lépések különbözőek az egyes metódusok esetében.

Megjegyzés

A Azure Active Directory B2C-ben az egyéni szabályzatok elsősorban az összetett forgatókönyvek kezelésére szolgálnak. A legtöbb esetben javasoljuk, hogy beépített felhasználói folyamatokat használjon. Ha még nem tette meg, ismerkedjen meg az egyéni szabályzatok kezdőcsomagjával Első lépések az Active Directory B2C egyéni szabályzataival.

Előfeltételek

Alkalmazás létrehozása

Ahhoz, hogy az Azure AD B2C-ben Twitter-fiókkal rendelkező felhasználók bejelentkezhessenek, létre kell hoznia egy Twitter-alkalmazást. Ha még nem rendelkezik Twitter-fiókkal, regisztrálhat a webhelyen https://twitter.com/signup. Fejlesztői fiókot is igényelnie kell. További információ: Hozzáférés igénylése.

  1. Jelentkezzen be a Twitter fejlesztői portálra a Twitter-fiókja hitelesítő adataival.
  2. A Különálló alkalmazások területen válassza az +Alkalmazás létrehozása lehetőséget.
  3. Adja meg az alkalmazás nevét, majd válassza a Befejezés lehetőséget.
  4. Másolja ki az alkalmazáskulcs és az API-kulcs titkos kulcsának értékét. Mindkettőt használhatja a Twitter identitásszolgáltatóként való konfigurálásához a bérlőben.
  5. Az Alkalmazás beállítása területen válassza az Alkalmazásbeállítások lehetőséget.
  6. A Hitelesítési beállítások területen válassza a Szerkesztés lehetőséget
    1. Jelölje be a Háromlábú OAuth engedélyezése jelölőnégyzetet.

    2. Jelölje be az E-mail-cím kérése a felhasználóktól jelölőnégyzetet.

    3. A visszahívási URL-címekhez írja be a következőt https://your-tenant.b2clogin.com/your-tenant-name.onmicrosoft.com/your-user-flow-Id/oauth1/authresp: Ha egyéni tartományt használ, írja be a következőt https://your-domain-name/your-tenant-name.onmicrosoft.com/your-user-flow-Id/oauth1/authresp: . A bérlő nevének és a felhasználói folyamat azonosítónak a megadásakor használjon minden kisbetűt, még akkor is, ha nagybetűkkel vannak definiálva az Azure AD B2C-ben. Cserélje le ezt:

      • your-tenant-name a bérlő nevével.
      • your-domain-name az egyéni tartománnyal.
      • your-user-flow-Id a felhasználói folyamat azonosítójával. Például: b2c_1a_signup_signin_twitter.
    4. Adja meg https://your-tenant.b2clogin.coma webhely URL-címét. Cserélje le your-tenant a bérlő nevére. Például: https://contosob2c.b2clogin.com. Ha egyéni tartományt használ, írja be a következőt https://your-domain-name: .

    5. Adja meg például http://www.contoso.com/tosa szolgáltatási feltételek URL-címét. A szabályzat URL-címe egy olyan lap, amelyet az alkalmazás használati feltételeinek megadásához tart fenn.

    6. Adja meg például http://www.contoso.com/privacyaz adatvédelmi szabályzat URL-címét. A szabályzat URL-címe egy olyan lap, amelyet az alkalmazás adatvédelmi információinak megadásához tart fenn.

    7. Kattintson a Mentés gombra.

A Twitter konfigurálása identitásszolgáltatóként

  1. Jelentkezzen be az Azure Portalra az Azure AD B2C-bérlő globális rendszergazdájaként.
  2. Győződjön meg arról, hogy az Azure AD B2C-bérlőt tartalmazó címtárat használja. Válassza a Címtárak és előfizetések ikont a portál eszköztárán.
  3. A Portál beállításai | A Címtárak és előfizetések lapon keresse meg az Azure AD B2C-címtárat a Címtárnév listában, majd válassza a Váltás lehetőséget.
  4. 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.
  5. Válassza az Identitásszolgáltatók, majd a Twitter lehetőséget.
  6. Adjon meg egy nevet. Például : Twitter.
  7. Az ügyfél-azonosítóhoz adja meg a korábban létrehozott Twitter-alkalmazás API-kulcsát .
  8. Az ügyfél titkos kódjának megadásához adja meg a rögzített API-kulcskulcsot .
  9. Kattintson a Mentés gombra.

Twitter-identitásszolgáltató hozzáadása felhasználói folyamathoz

Ezen a ponton a Twitter identitásszolgáltatója be van állítva, de még nem érhető el egyik bejelentkezési oldalon sem. A Twitter-identitásszolgáltató hozzáadása egy felhasználói folyamathoz:

  1. Az Azure AD B2C-bérlőben válassza a Felhasználói folyamatok lehetőséget.
  2. Válassza ki azt a felhasználói folyamatot, amelyet hozzá szeretne adni a Twitter-identitásszolgáltatóhoz.
  3. A Közösségi identitásszolgáltatók területen válassza a Twitter lehetőséget.
  4. Kattintson a Mentés gombra.
  5. A szabályzat teszteléséhez válassza a Felhasználói folyamat futtatása lehetőséget.
  6. Az Application esetében válassza ki a testapp1 nevű webalkalmazást, amelyet korábban regisztrált. A válasz URL-címnek meg kell jelennie https://jwt.ms.
  7. Válassza a Felhasználói folyamat futtatása gombot.
  8. A regisztrációs vagy bejelentkezési oldalon válassza a Twitter lehetőséget a Twitter-fiókkal való bejelentkezéshez.

Ha a bejelentkezési folyamat sikeres, a rendszer átirányítja a böngészőt https://jwt.ms, amely megjeleníti az Azure AD B2C által visszaadott jogkivonat tartalmát.

Szabályzatkulcs létrehozása

A korábban az Azure AD B2C-bérlőben rögzített titkos kulcsot kell tárolnia.

  1. Jelentkezzen be az Azure Portalra.
  2. Győződjön meg arról, hogy az Azure AD B2C-bérlőt tartalmazó címtárat használja. Válassza a Címtárak és előfizetések ikont a portál eszköztárán.
  3. A Portál beállításai | A Címtárak és előfizetések lapon keresse meg az Azure AD B2C-címtárat a Címtárnév listában, majd válassza a Váltás lehetőséget.
  4. Válassza az Összes szolgáltatást a Azure Portal bal felső sarkában, majd keresse meg és válassza ki az Azure AD B2C-t.
  5. Az Áttekintés lapon válassza az Identity Experience Framework lehetőséget.
  6. Válassza a Szabályzatkulcsok , majd a Hozzáadás lehetőséget.
  7. A Beállítások listában válassza a Manual.
  8. Adja meg a szabályzatkulcs nevét . Például: TwitterSecret. A rendszer automatikusan hozzáadja az előtagot B2C_1A_ a kulcs nevéhez.
  9. A Titkos kód mezőbe írja be a korábban rögzített titkos ügyfélkulcsot.
  10. Kulcshasználat esetén válassza a Encryptionlehetőséget.
  11. Kattintson a Létrehozás lehetőségre.

A Twitter konfigurálása identitásszolgáltatóként

Ahhoz, hogy a felhasználók Twitter-fiókkal jelentkezzenek be, meg kell határoznia a fiókot jogcímszolgáltatóként, amellyel az Azure AD B2C egy végponton keresztül kommunikálhat. A végpont olyan jogcímeket biztosít, amelyeket az Azure AD B2C használ annak ellenőrzésére, hogy egy adott felhasználó hitelesített-e.

A Twitter-fiókot jogcímszolgáltatóként is definiálhatja, ha hozzáadja azt a szabályzat bővítményfájljában található ClaimsProviders elemhez.

  1. Nyissa meg a TrustFrameworkExtensions.xml.

  2. Keresse meg a ClaimsProviders elemet. Ha nem létezik, adja hozzá a gyökérelemhez.

  3. Adjon hozzá egy új ClaimsProvidert az alábbiak szerint:

    <ClaimsProvider>
      <Domain>twitter.com</Domain>
      <DisplayName>Twitter</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Twitter-OAuth1">
          <DisplayName>Twitter</DisplayName>
          <Protocol Name="OAuth1" />
          <Metadata>
            <Item Key="ProviderName">Twitter</Item>
            <Item Key="authorization_endpoint">https://api.twitter.com/oauth/authenticate</Item>
            <Item Key="access_token_endpoint">https://api.twitter.com/oauth/access_token</Item>
            <Item Key="request_token_endpoint">https://api.twitter.com/oauth/request_token</Item>
            <Item Key="ClaimsEndpoint">https://api.twitter.com/1.1/account/verify_credentials.json?include_email=true</Item>
            <Item Key="ClaimsResponseFormat">json</Item>
            <Item Key="client_id">Your Twitter application API key</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_TwitterSecret" />
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="user_id" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="screen_name" />
            <OutputClaim ClaimTypeReferenceId="email" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="twitter.com" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Cserélje le a client_id értékét a korábban rögzített API-kulcs titkos kódjára .

  5. Mentse a fájlt.

Felhasználói folyamat hozzáadása

Ezen a ponton az identitásszolgáltató be van állítva, de még nem érhető el egyik bejelentkezési oldalon sem. Ha nem rendelkezik saját egyéni felhasználói folyamatával, hozzon létre egy példányt egy meglévő sablonfelhasználói folyamatból, ellenkező esetben folytassa a következő lépéssel.

  1. Nyissa meg a TrustFrameworkBase.xml fájlt a kezdőcsomagból.
  2. Keresse meg és másolja ki a UserJourney elem teljes tartalmát, amely tartalmazza Id="SignUpOrSignIn".
  3. Nyissa meg a TrustFrameworkExtensions.xml , és keresse meg a UserJourneys elemet. Ha az elem nem létezik, adjon hozzá egyet.
  4. Illessze be a UserJourney elem gyermekként kimásolt UserJourney elem teljes tartalmát.
  5. Nevezze át a felhasználói folyamat azonosítóját. Például: Id="CustomSignUpSignIn".

Identitásszolgáltató hozzáadása egy felhasználói folyamathoz

Most, hogy elkészült a felhasználói folyamat, adja hozzá az új identitásszolgáltatót a felhasználói folyamathoz. Először vegyen fel egy bejelentkezési gombot, majd kapcsolja a gombot egy művelethez. A művelet a korábban létrehozott műszaki profil.

  1. Keresse meg a vezénylési lépés azon elemét, amely tartalmazza Type="CombinedSignInAndSignUp"vagy Type="ClaimsProviderSelection" a felhasználói folyamat során. Általában ez az első vezénylési lépés. A ClaimsProviderSelections elem azon identitásszolgáltatók listáját tartalmazza, amelyekkel a felhasználó bejelentkezhet. Az elemek sorrendje határozza meg a felhasználónak megjelenített bejelentkezési gombok sorrendjét. Adjon hozzá egy ClaimsProviderSelection XML-elemet. Állítsa a TargetClaimsExchangeId értékét egy rövid névre.

  2. A következő vezénylési lépésben adjon hozzá egy ClaimsExchange elemet. Állítsa az azonosítót a céljogcímcsere-azonosító értékére. Frissítse a TechnicalProfileReferenceId értékét a korábban létrehozott műszaki profil azonosítójára.

A következő XML a felhasználói folyamat első két vezénylési lépését mutatja be az identitásszolgáltatóval:

<OrchestrationStep Order="1" Type="CombinedSignInAndSignUp" ContentDefinitionReferenceId="api.signuporsignin">
  <ClaimsProviderSelections>
    ...
    <ClaimsProviderSelection TargetClaimsExchangeId="TwitterExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="TwitterExchange" TechnicalProfileReferenceId="Twitter-OAuth1" />
  </ClaimsExchanges>
</OrchestrationStep>

A függő entitás házirendjének konfigurálása

A függő entitás szabályzata, például SignUpSignIn.xml, meghatározza az Azure AD B2C által végrehajtott felhasználói folyamatot. Keresse meg a DefaultUserJourney elemet a függő entitáson belül. Frissítse a ReferenceId azonosítót , hogy megfeleljen a felhasználói útazonosítónak, amelyben hozzáadta az identitásszolgáltatót.

A következő példában a CustomSignUpSignIn felhasználói folyamat esetében a ReferenceId értéke a következő CustomSignUpSignIn:

<RelyingParty>
  <DefaultUserJourney ReferenceId="CustomSignUpSignIn" />
  ...
</RelyingParty>

Az egyéni szabályzat feltöltése

  1. Jelentkezzen be az Azure Portalra.
  2. Válassza a Címtár + Előfizetés ikont a portál eszköztárán, majd válassza ki az Azure AD B2C-bérlőt tartalmazó címtárat.
  3. A Azure Portal keresse meg és válassza ki az Azure AD B2C-t.
  4. A Szabályzatok területen válassza az Identity Experience Framework lehetőséget.
  5. Válassza az Egyéni házirend feltöltése lehetőséget, majd töltse fel a módosított két házirendfájlt a következő sorrendben: a bővítményházirend, például TrustFrameworkExtensions.xmla függő entitás házirendje, például SignUpSignIn.xml.

Az egyéni szabályzat tesztelése

  1. Válassza ki például B2C_1A_signup_signina függő entitás szabályzatát.
  2. Alkalmazás esetén válasszon ki egy korábban regisztrált webalkalmazást. A válasz URL-címének meg kell jelennie https://jwt.ms.
  3. Válassza a Futtatás most gombot.
  4. A regisztrációs vagy bejelentkezési lapon válassza a Twitter lehetőséget a Twitter-fiókkal való bejelentkezéshez.

Ha a bejelentkezési folyamat sikeres, a rendszer átirányítja a böngészőt https://jwt.ms, amely megjeleníti az Azure AD B2C által visszaadott jogkivonat tartalmát.