Dela via


Konfigurera registrering och inloggning med ett Twitter-konto med Azure Active Directory B2C

Innan du börjar använder du väljaren Välj en principtyp för att välja den typ av princip som du konfigurerar. Azure Active Directory B2C erbjuder två metoder för att definiera hur användare interagerar med dina program: via fördefinierade användarflöden eller genom fullständigt konfigurerbara anpassade principer. De steg som krävs i den här artikeln skiljer sig åt för varje metod.

Kommentar

I Azure Active Directory B2C är anpassade principer främst utformade för att hantera komplexa scenarier. I de flesta scenarier rekommenderar vi att du använder inbyggda användarflöden. Om du inte har gjort det kan du läsa mer om startpaketet för anpassad princip i Kom igång med anpassade principer i Active Directory B2C.

Förutsättningar

Skapa ett program

Om du vill aktivera inloggning för användare med ett Twitter-konto i Azure AD B2C måste du skapa ett Twitter-program. Om du inte redan har ett Twitter-konto kan du registrera dig på https://twitter.com/signup. Du måste också ansöka om ett utvecklarkonto. Mer information finns i Ansöka om åtkomst.

  1. Logga in på Twitter Developer Portal med dina autentiseringsuppgifter för Twitter-kontot.
  2. Välj knappen + Skapa projekt .
  3. Under fliken Projektnamn anger du ett föredraget namn på projektet och väljer sedan knappen Nästa .
  4. Under fliken Användningsfall väljer du önskat användningsfall och väljer sedan Nästa.
  5. Under fliken Projektbeskrivning anger du projektbeskrivningen och väljer sedan knappen Nästa .
  6. Under fliken Appnamn anger du ett namn för din app, till exempel azureadb2c, och väljer knappen Nästa .
  7. Under fliken Nyckeltoken & kopierar du värdet för API-nyckel och API-nyckelhemlighet. Du kommer att använda dessa för konfiguration senare.
  8. Välj Appinställningar för att öppna appinställningarna.
  9. I den nedre delen av sidan går du till Inställningar för användarautentisering och väljer Konfigurera.
  10. Under Typ av app väljer du lämplig apptyp, till exempel Webbapp.
  11. Under Appinformation:
    1. För återanrops-URI /omdirigerings-URL anger du https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/your-policy-id/oauth1/authresp. Om du använder en anpassad domän anger du https://your-domain-name/your-tenant-name.onmicrosoft.com/your-user-flow-Id/oauth1/authresp. Använd alla gemener när du anger ditt klientnamn och användarflödes-ID även om de definieras med versaler i Azure AD B2C. Ersätta:
      • your-tenant-name med namnet på klientorganisationens namn.
      • your-domain-name med din anpassade domän.
      • your-policy-id med identifieraren för ditt användarflöde. Exempel: b2c_1a_signup_signin_twitter
    2. För webbadressen till webbplatsen anger du https://your-tenant.b2clogin.com. Ersätt your-tenant med namnet på klientorganisationen. Exempel: https://contosob2c.b2clogin.com Om du använder en anpassad domän anger du https://your-domain-name.
    3. (Valfritt) Ange en URL för tjänstvillkoren, till exempel http://www.contoso.com/tos. Princip-URL:en är en sida som du underhåller för att tillhandahålla villkor för ditt program.
    4. (Valfritt) Ange en URL för sekretesspolicyn, till exempel http://www.contoso.com/privacy. Princip-URL:en är en sida som du underhåller för att tillhandahålla sekretessinformation för ditt program.
  12. Välj Spara.
  1. Logga in på Twitter Developer Portal med dina autentiseringsuppgifter för Twitter-kontot.
  2. Välj knappen + Skapa projekt .
  3. Under fliken Projektnamn anger du ett föredraget namn på projektet och väljer sedan knappen Nästa .
  4. Under fliken Användningsfall väljer du önskat användningsfall och väljer sedan Nästa.
  5. Under fliken Projektbeskrivning anger du projektbeskrivningen och väljer sedan knappen Nästa .
  6. Under fliken Appnamn anger du ett namn för din app, till exempel azureadb2c, och väljer knappen Nästa .
  7. Under fliken Nycklartoken & kopierar du värdet för API-nyckel och API-nyckelhemlighet för senare. Du använder båda för att konfigurera Twitter som identitetsprovider i din Azure AD B2C-klientorganisation.
  8. Välj Appinställningar för att öppna appinställningarna.
  9. I den nedre delen av sidan går du till Inställningar för användarautentisering och väljer Konfigurera.
  10. Under Typ av app väljer du lämplig apptyp, till exempel Webbapp.
  11. Under Appinformation:
    1. För återanrops-URI /omdirigerings-URL anger du https://your-tenant.b2clogin.com/your-tenant-name.onmicrosoft.com/your-user-flow-name/oauth1/authresp. Om du använder en anpassad domän anger du https://your-domain-name/your-tenant-name.onmicrosoft.com/your-user-flow-Id/oauth1/authresp. Använd alla gemener när du anger ditt klientnamn och användarflödes-ID även om de definieras med versaler i Azure AD B2C. Ersätta:
      • your-tenant-name med namnet på klientorganisationens namn.
      • your-domain-name med din anpassade domän.
      • your-user-flow-name med identifieraren för ditt användarflöde. Exempel: b2c_1_signup_signin_twitter
    2. För webbadressen till webbplatsen anger du https://your-tenant.b2clogin.com. Ersätt your-tenant med namnet på klientorganisationen. Exempel: https://contosob2c.b2clogin.com Om du använder en anpassad domän anger du https://your-domain-name.
    3. Ange en URL för tjänstvillkoren, till exempel http://www.contoso.com/tos. Princip-URL:en är en sida som du underhåller för att tillhandahålla villkor för ditt program.
    4. Ange en URL för sekretesspolicyn, till exempel http://www.contoso.com/privacy. Princip-URL:en är en sida som du underhåller för att tillhandahålla sekretessinformation för ditt program.
  12. Välj Spara.

Konfigurera Twitter som en identitetsprovider

  1. Logga in på Azure Portal som global administratör för din Azure AD B2C-klientorganisationen.
  2. Om du har åtkomst till flera klienter väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klient från menyn Kataloger + prenumerationer.
  3. Välj Alla tjänster på menyn högst upp till vänster i Azure-portalen och sök efter och välj Azure AD B2C.
  4. Välj Identitetsprovidrar och sedan Twitter.
  5. Ange ett Namn. Till exempel Twitter.
  6. För klient-ID anger du API-nyckeln för Twitter-programmet som du skapade tidigare.
  7. För klienthemligheten anger du den API-nyckelhemlighet som du registrerade.
  8. Välj Spara.

Lägga till Twitter-identitetsprovider i ett användarflöde

I det här läget har Twitter-identitetsprovidern konfigurerats, men den är ännu inte tillgänglig på någon av inloggningssidorna. Så här lägger du till Twitter-identitetsprovidern i ett användarflöde:

  1. I din Azure AD B2C-klient väljer du Användarflöden.
  2. Välj det användarflöde som du vill lägga till Twitter-identitetsprovidern.
  3. Under De sociala identitetsprovidrar väljer du Twitter.
  4. Välj Spara.

Testa användarflödet

  1. Om du vill testa principen väljer du Kör användarflöde.
  2. För Program väljer du webbprogrammet med namnet testapp1 som du registrerade tidigare. Svars-URL :en ska visa https://jwt.ms.
  3. Välj knappen Kör användarflöde.
  4. På registrerings- eller inloggningssidan väljer du Twitter för att logga in med Twitter-konto.

Skapa en principnyckel

Du måste lagra den hemliga nyckel som du tidigare spelade in för Twitter-appen i din Azure AD B2C-klientorganisation.

  1. Logga in på Azure-portalen.
  2. Om du har åtkomst till flera klienter väljer du ikonen Inställningar på den översta menyn för att växla till din Azure AD B2C-klient från menyn Kataloger + prenumerationer.
  3. I Azure-portalen söker du efter och väljer Azure AD B2C.
  4. På den vänstra menyn går du till Principer och väljer Identity Experience Framework.
  5. Välj Principnycklar och välj sedan Lägg till.
  6. För Alternativ väljer du Manual.
  7. Ange ett Namn för principnyckeln. Exempel: TwitterSecret Prefixet B2C_1A_ läggs automatiskt till i namnet på din nyckel.
  8. För Hemlighet anger du det API-nyckelhemlighetsvärde som du registrerade tidigare.
  9. För Nyckelanvändning väljer du Signature.
  10. Klicka på Skapa.

Konfigurera Twitter som en identitetsprovider

För att göra det möjligt för användare att logga in med ett Twitter-konto måste du definiera kontot som en anspråksprovider som Azure AD B2C kan kommunicera med via en slutpunkt. Slutpunkten innehåller en uppsättning anspråk som används av Azure AD B2C för att verifiera att en viss användare har autentiserats.

Du kan definiera ett Twitter-konto som en anspråksprovider genom att lägga till det i elementet ClaimsProviders i tilläggsfilen för principen. Se startpaketet för anpassad princip som du laddade ned i den här artikelns krav.

  1. Öppna TrustFrameworkExtensions.xml.

  2. Hitta elementet ClaimsProviders . Om den inte finns lägger du till den under rotelementet.

  3. Lägg till en ny ClaimsProvider på följande sätt:

    <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. Ersätt värdet för client_id med DEN API-nyckel som du registrerade tidigare.

  5. Spara filen.

Lägga till en användarresa

I det här läget har identitetsprovidern konfigurerats, men den är ännu inte tillgänglig på någon av inloggningssidorna. Om du inte har en egen anpassad användarresa skapar du en dubblett av en befintlig mallanvändarresa, annars fortsätter du till nästa steg.

  1. Öppna filen TrustFrameworkBase.xml från startpaketet.
  2. Hitta och kopiera hela innehållet i elementet UserJourney som innehåller Id="SignUpOrSignIn".
  3. Öppna TrustFrameworkExtensions.xml och leta upp elementet UserJourneys. Om elementet inte finns lägger du till ett.
  4. Klistra in hela innehållet i elementet UserJourney som du kopierade som underordnat elementet UserJourneys .
  5. Byt namn på ID:t för användarresan. Exempel: Id="CustomSignUpSignIn"

Lägga till identitetsprovidern i en användarresa

Nu när du har en användarresa lägger du till den nya identitetsprovidern i användarresan. Du lägger först till en inloggningsknapp och länkar sedan knappen till en åtgärd. Åtgärden är den tekniska profil som du skapade tidigare.

  1. Leta reda på orkestreringsstegelementet som innehåller Type="CombinedSignInAndSignUp", eller Type="ClaimsProviderSelection" i användarresan. Det är vanligtvis det första orkestreringssteget. Elementet ClaimsProviderSelections innehåller en lista över identitetsprovidrar som en användare kan logga in med. Ordningen på elementen styr ordningen på de inloggningsknappar som visas för användaren. Lägg till ett ClaimsProviderSelection XML-element. Ange värdet för TargetClaimsExchangeId till ett eget namn.

  2. I nästa orkestreringssteg lägger du till ett ClaimsExchange-element . Ange ID:t till värdet för målanspråkets utbytes-ID. Uppdatera värdet för TechnicalProfileReferenceId till ID:t för den tekniska profil som du skapade tidigare.

Följande XML visar de två första orkestreringsstegen för en användarresa med identitetsprovidern:

<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>

Konfigurera principen för förlitande part

Principen för förlitande part, till exempel SignUpSignIn.xml, anger den användarresa som Azure AD B2C ska köra. Hitta elementet DefaultUserJourney i den förlitande parten. Uppdatera ReferenceId så att det matchar användarens rese-ID, där du lade till identitetsprovidern.

I följande exempel CustomSignUpSignIn för användarresan är ReferenceId inställt på CustomSignUpSignIn:

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

Ladda upp den anpassade principen

  1. Logga in på Azure-portalen.
  2. Välj ikonen Katalog + prenumeration i portalens verktygsfält och välj sedan den katalog som innehåller din Azure AD B2C-klientorganisation.
  3. I Azure-portalen söker du efter och väljer Azure AD B2C.
  4. Under Principer väljer du Identity Experience Framework.
  5. Välj Överför anpassad princip och ladda sedan upp de två principfilerna som du ändrade i följande ordning: tilläggsprincipen, till exempel TrustFrameworkExtensions.xml, och sedan den förlitande partprincipen, till exempel SignUpSignIn.xml.

Testa din anpassade princip

  1. Välj din princip för förlitande part, till exempel B2C_1A_signup_signin.
  2. För Program väljer du ett webbprogram som du registrerade tidigare. Svars-URL :en ska visa https://jwt.ms.
  3. Välj knappen Kör nu.
  4. På registrerings- eller inloggningssidan väljer du Twitter för att logga in med Twitter-konto.

Om inloggningsprocessen lyckas omdirigeras webbläsaren till https://jwt.ms, som visar innehållet i token som returneras av Azure AD B2C.

Dricks

Om du får unauthorized ett fel när du testar den här identitetsprovidern kontrollerar du att du använder rätt Twitter API-nyckel och API-nyckelhemlighet eller försöker ansöka om förhöjd åtkomst. Vi rekommenderar också att du tar en titt på Twitters projektstruktur om du registrerade din app innan funktionen var tillgänglig.