Azure Active Directory B2C kullanarak twitter hesabıyla kaydolma ve oturum açma ayarlama

Başlamadan önce, ayarladığınız ilke türünü seçmek için İlke türü seçin seçicisini kullanın. Azure Active Directory B2C, kullanıcıların uygulamalarınızla nasıl etkileşim kurduğunu tanımlamak için iki yöntem sunar: önceden tanımlanmış kullanıcı akışları veya tam olarak yapılandırılabilir özel ilkeler aracılığıyla. Bu makalede gerekli adımlar her yöntem için farklıdır.

Dekont

Azure Active Directory B2C'de özel ilkeler öncelikli olarak karmaşık senaryoları ele almak için tasarlanmıştır. Çoğu senaryoda, yerleşik kullanıcı akışlarını kullanmanızı öneririz. Bunu yapmadıysanız, Active Directory B2C'de özel ilkeleri kullanmaya başlama bölümünde özel ilke başlangıç paketi hakkında bilgi edinin.

Önkoşullar

Uygulama oluşturma

Azure AD B2C'de Twitter hesabı olan kullanıcılar için oturum açmayı etkinleştirmek için bir Twitter uygulaması oluşturmanız gerekir. Henüz bir Twitter hesabınız yoksa adresinden kaydolabilirsiniz https://twitter.com/signup. Geliştirici hesabına da başvurmanız gerekir. Daha fazla bilgi için bkz . Erişim için uygulama.

  1. Twitter hesabı kimlik bilgilerinizle Twitter Geliştirici Portalı'nda oturum açın.
  2. + Proje Oluştur düğmesini seçin.
  3. Proje adı sekmesi altında, projenizin tercih edilen adını girin ve İleri düğmesini seçin.
  4. Kullanım örneği sekmesinin altında tercih ettiğiniz kullanım örneğini ve ardından İleri'yi seçin.
  5. Proje açıklaması sekmesi altında proje açıklamanızı girin ve İleri düğmesi'ni seçin.
  6. Uygulama adı sekmesi altında, uygulamanız için azureadb2c gibi bir ad girin ve İleri düğmesini seçin.
  7. Anahtar Belirteçleri sekmesinin altında API Anahtarı ve API Anahtar Gizli Anahtarı değerlerini & kopyalayın. Bunları daha sonra yapılandırma için kullanacaksınız.
  8. Uygulama ayarlarını açmak için Uygulama ayarları'nı seçin.
  9. Sayfanın alt kısmında, Kullanıcı kimlik doğrulaması ayarları'nın altında Ayarla'yı seçin.
  10. Uygulama türü altında Web Uygulaması gibi uygun uygulama türünüzü seçin.
  11. Uygulama Bilgileri altında:
    1. Geri Arama URI'si/Yeniden Yönlendirme URL'si için girinhttps://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/your-policy-id/oauth1/authresp. Özel bir etki alanı kullanıyorsanız girin https://your-domain-name/your-tenant-name.onmicrosoft.com/your-user-flow-Id/oauth1/authresp. Azure AD B2C'de büyük harflerle tanımlansalar bile kiracı adınızı ve kullanıcı akış kimliğinizi girerken tüm küçük harfleri kullanın. Değiştirmek:
      • your-tenant-name kiracınızın adıyla birlikte.
      • your-domain-name özel etki alanınızla birlikte.
      • your-policy-id kullanıcı akışınızın tanımlayıcısıyla birlikte. Örneğin, b2c_1a_signup_signin_twitter.
    2. Web Sitesi URL'si için girinhttps://your-tenant.b2clogin.com. değerini kiracınızın adıyla değiştirin your-tenant . Örneğin, https://contosob2c.b2clogin.com. Özel bir etki alanı kullanıyorsanız girin https://your-domain-name.
    3. (İsteğe bağlı) Hizmet Koşulları için bir URL girin, örneğinhttp://www.contoso.com/tos. İlke URL'si, uygulamanız için hüküm ve koşulları sağlamak için kullandığınız bir sayfadır.
    4. (İsteğe bağlı) Gizlilik ilkesi için bir URL girin, örneğinhttp://www.contoso.com/privacy. İlke URL'si, uygulamanız için gizlilik bilgilerini sağlamak için kullandığınız bir sayfadır.
  12. Kaydet'i seçin.
  1. Twitter hesabı kimlik bilgilerinizle Twitter Geliştirici Portalı'nda oturum açın.
  2. + Proje Oluştur düğmesini seçin.
  3. Proje adı sekmesi altında, projenizin tercih edilen adını girin ve İleri düğmesini seçin.
  4. Kullanım örneği sekmesinin altında tercih ettiğiniz kullanım örneğini ve ardından İleri'yi seçin.
  5. Proje açıklaması sekmesi altında proje açıklamanızı girin ve İleri düğmesi'ni seçin.
  6. Uygulama adı sekmesi altında, uygulamanız için azureadb2c gibi bir ad girin ve İleri düğmesini seçin.
  7. Anahtar Belirteçleri sekmesi altında, daha sonra kullanmak üzere API Anahtarı ve API Anahtar Gizli Anahtarı değerini kopyalayın.& Her ikisini de Kullanarak Twitter'ı Azure AD B2C kiracınızda bir kimlik sağlayıcısı olarak yapılandırabilirsiniz.
  8. Uygulama ayarlarını açmak için Uygulama ayarları'nı seçin.
  9. Sayfanın alt kısmında, Kullanıcı kimlik doğrulaması ayarları'nın altında Ayarla'yı seçin.
  10. Uygulama türü altında Web Uygulaması gibi uygun uygulama türünüzü seçin.
  11. Uygulama Bilgileri altında:
    1. Geri Arama URI'si/Yeniden Yönlendirme URL'si için girinhttps://your-tenant.b2clogin.com/your-tenant-name.onmicrosoft.com/your-user-flow-name/oauth1/authresp. Özel bir etki alanı kullanıyorsanız girin https://your-domain-name/your-tenant-name.onmicrosoft.com/your-user-flow-Id/oauth1/authresp. Azure AD B2C'de büyük harflerle tanımlansalar bile kiracı adınızı ve kullanıcı akış kimliğinizi girerken tüm küçük harfleri kullanın. Değiştirmek:
      • your-tenant-name kiracınızın adıyla birlikte.
      • your-domain-name özel etki alanınızla birlikte.
      • your-user-flow-name kullanıcı akışınızın tanımlayıcısıyla birlikte. Örneğin, b2c_1_signup_signin_twitter.
    2. Web Sitesi URL'si için girinhttps://your-tenant.b2clogin.com. değerini kiracınızın adıyla değiştirin your-tenant . Örneğin, https://contosob2c.b2clogin.com. Özel bir etki alanı kullanıyorsanız girin https://your-domain-name.
    3. Hizmet Koşulları için bir URL girin, örneğinhttp://www.contoso.com/tos. İlke URL'si, uygulamanız için hüküm ve koşulları sağlamak için kullandığınız bir sayfadır.
    4. Gizlilik ilkesi için bir URL girin, örneğinhttp://www.contoso.com/privacy. İlke URL'si, uygulamanız için gizlilik bilgilerini sağlamak için kullandığınız bir sayfadır.
  12. Kaydet'i seçin.

Twitter'ı kimlik sağlayıcısı olarak yapılandırma

  1. Azure portalda Azure AD B2C kiracınızın genel yöneticisi olarak oturum açın.
  2. Birden çok kiracıya erişiminiz varsa, Dizinler + abonelikler menüsünden Azure AD B2C kiracınıza geçmek için üstteki menüden Ayarlar simgesini seçin.
  3. Azure portalın sol üst köşesinde Tüm hizmetler’i seçin ve Azure AD B2C’yi arayıp seçin.
  4. Kimlik sağlayıcıları'nın ardından Twitter'ı seçin.
  5. Bir Ad girin. Örneğin, Twitter.
  6. İstemci Kimliği için, daha önce oluşturduğunuz Twitter uygulamasının API Anahtarını girin.
  7. İstemci gizli dizisi için kaydettiğiniz API anahtar gizli dizisinigirin.
  8. Kaydet'i seçin.

Kullanıcı akışına Twitter kimlik sağlayıcısı ekleme

Bu noktada Twitter kimlik sağlayıcısı ayarlanmıştır, ancak henüz oturum açma sayfalarının hiçbirinde mevcut değildir. Twitter kimlik sağlayıcısını bir kullanıcı akışına eklemek için:

  1. Azure AD B2C kiracınızda Kullanıcı akışları'yı seçin.
  2. Twitter kimlik sağlayıcısını eklemek istediğiniz kullanıcı akışını seçin.
  3. Sosyal kimlik sağlayıcıları altında Twitter'ı seçin.
  4. Kaydet'i seçin.

Kullanıcı Akışınızı test edin

  1. İlkenizi test etmek için Kullanıcı akışını çalıştır'ı seçin.
  2. Uygulama için daha önce kaydettiğiniz testapp1 adlı web uygulamasını seçin. Yanıt URL'si göstermelidirhttps://jwt.ms.
  3. Kullanıcı akışını çalıştır düğmesini seçin.
  4. Kaydolma veya oturum açma sayfasında Twitter hesabıyla oturum açmak için Twitter'ı seçin.

İlke anahtarı oluşturma

Daha önce Twitter uygulaması için kaydettiğiniz gizli anahtarı Azure AD B2C kiracınızda depolamanız gerekir.

  1. Azure Portal oturum açın.
  2. Birden çok kiracıya erişiminiz varsa, Dizinler + abonelikler menüsünden Azure AD B2C kiracınıza geçmek için üstteki menüden Ayarlar simgesini seçin.
  3. Azure portalında Azure AD B2C'yi arayın ve seçin.
  4. Soldaki menüde, İlkeler'in altında Kimlik Deneyimi Çerçevesi'ni seçin.
  5. İlke Anahtarları'nı ve ardından Ekle'yi seçin.
  6. Seçenekler için öğesini seçinManual.
  7. İlke anahtarı için bir Ad girin. Örneğin, TwitterSecret. Ön ek B2C_1A_ , anahtarınızın adına otomatik olarak eklenir.
  8. Gizli Dizi için, daha önce kaydettiğiniz API anahtarı gizli dizi değerini girin.
  9. Anahtar kullanımı için öğesini seçinSignature.
  10. Oluştur’a tıklayın.

Twitter'ı kimlik sağlayıcısı olarak yapılandırma

Kullanıcıların Twitter hesabı kullanarak oturum açmasını sağlamak için hesabı Azure AD B2C'nin bir uç nokta üzerinden iletişim kurabileceği bir talep sağlayıcısı olarak tanımlamanız gerekir. Uç nokta, belirli bir kullanıcının kimliğini doğrulamak için Azure AD B2C tarafından kullanılan bir dizi talep sağlar.

Bir Twitter hesabını, ilkenizin uzantı dosyasındaki ClaimsProviders öğesine ekleyerek talep sağlayıcısı olarak tanımlayabilirsiniz. Bu makalenin Önkoşulları bölümünde indirdiğiniz özel ilke başlangıç paketine bakın.

  1. TrustFrameworkExtensions.xml dosyasını açın.

  2. ClaimsProviders öğesini bulun. Yoksa kök öğesinin altına ekleyin.

  3. Aşağıdaki gibi yeni bir ClaimsProvider ekleyin:

    <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. client_id değerini daha önce kaydettiğiniz API anahtarıyla değiştirin.

  5. Dosyayı kaydedin.

Kullanıcı yolculuğu ekleme

Bu noktada, kimlik sağlayıcısı ayarlanmıştır, ancak henüz oturum açma sayfalarından herhangi birinde kullanılamaz. Kendi özel kullanıcı yolculuğunuz yoksa, mevcut şablon kullanıcı yolculuğunun bir kopyasını oluşturun, aksi takdirde sonraki adıma geçin.

  1. Başlangıç paketinden TrustFrameworkBase.xml dosyasını açın.
  2. içeren Id="SignUpOrSignIn"UserJourney öğesinin tüm içeriğini bulun ve kopyalayın.
  3. TrustFrameworkExtensions.xml dosyasını açın ve UserJourneys öğesini bulun. Öğesi yoksa bir tane ekleyin.
  4. UserJourneys öğesinin alt öğesi olarak kopyaladığınız UserJourney öğesinin tüm içeriğini yapıştırın.
  5. Kullanıcı yolculuğunun kimliğini yeniden adlandırın. Örneğin, Id="CustomSignUpSignIn".

Kimlik sağlayıcısını kullanıcı yolculuğuna ekleme

Artık bir kullanıcı yolculuğunuz olduğuna göre, yeni kimlik sağlayıcısını kullanıcı yolculuğuna ekleyin. Önce bir oturum açma düğmesi eklersiniz, ardından düğmeyi bir eyleme bağlarsınız. Eylem, daha önce oluşturduğunuz teknik profildir.

  1. veya içeren düzenleme adımı öğesini Type="CombinedSignInAndSignUp"Type="ClaimsProviderSelection" kullanıcı yolculuğunda bulun. Genellikle ilk düzenleme adımıdır. ClaimsProviderSelections öğesi, kullanıcının oturum açabileceği kimlik sağlayıcılarının listesini içerir. Öğelerin sırası, kullanıcıya sunulan oturum açma düğmelerinin sırasını denetler. ClaimsProviderSelection XML öğesi ekleyin. TargetClaimsExchangeId değerini kolay bir ad olarak ayarlayın.

  2. Sonraki düzenleme adımında claimsexchange öğesi ekleyin. Kimliği hedef talep değişim kimliğinin değerine ayarlayın. TechnicalProfileReferenceId değerini daha önce oluşturduğunuz teknik profilin kimliğine güncelleştirin.

Aşağıdaki XML, kimlik sağlayıcısıyla bir kullanıcı yolculuğunun ilk iki düzenleme adımını gösterir:

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

Bağlı olan taraf ilkesini yapılandırma

Bağlı olan taraf ilkesi, örneğin SignUpSignIn.xml, Azure AD B2C'nin yürüteceği kullanıcı yolculuğunu belirtir. Bağlı olan taraf içinde DefaultUserJourney öğesini bulun. ReferenceId değerini, kimlik sağlayıcısını eklediğiniz kullanıcı yolculuğu kimliğiyle eşleşecek şekilde güncelleştirin.

Aşağıdaki örnekte, kullanıcı yolculuğu için CustomSignUpSignIn ReferenceId değeri olarak CustomSignUpSignInayarlanmıştır:

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

Özel ilkeyi karşıya yükleme

  1. Azure Portal oturum açın.
  2. Portal araç çubuğunda Dizin + Abonelik simgesini ve ardından Azure AD B2C kiracınızı içeren dizini seçin.
  3. Azure portalında Azure AD B2C'yi arayın ve seçin.
  4. İlkeler'in altında Kimlik Deneyimi Çerçevesi'ne tıklayın.
  5. Özel İlkeyi Karşıya Yükle'yi seçin ve değiştirdiğiniz iki ilke dosyasını şu sırayla karşıya yükleyin: uzantı ilkesi, örneğin TrustFrameworkExtensions.xml, ve gibi SignUpSignIn.xmlbağlı olan taraf ilkesi.

Özel ilkenizi test edin

  1. Bağlı olan taraf ilkenizi seçin, örneğin B2C_1A_signup_signin.
  2. Uygulama için daha önce kaydettiğiniz bir web uygulamasını seçin. Yanıt URL'si göstermelidirhttps://jwt.ms.
  3. Şimdi çalıştır düğmesini seçin.
  4. Kaydolma veya oturum açma sayfasında Twitter hesabıyla oturum açmak için Twitter'ı seçin.

Oturum açma işlemi başarılı olursa, tarayıcınız Azure AD B2C tarafından döndürülen belirtecin içeriğini görüntüleyen öğesine yönlendirilir https://jwt.ms.

Bahşiş

Bu kimlik sağlayıcısını test ederken hatayla karşılaşıyorsanız unauthorized doğru Twitter API Anahtarı ve API Anahtar Gizli Anahtarı'nı kullandığınızdan emin olun veya yükseltilmiş erişim için başvurmayı deneyin. Ayrıca, uygulamanızı özellik kullanılabilir olmadan önce kaydettiyseniz Twitter'ın proje yapısına göz atmanızı öneririz.