Share via


Azure Active Directory B2C kullanarak apple kimliğiyle 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

Apple Kimliği uygulaması oluşturma

Azure Active Directory B2C'de (Azure AD B2C) Apple Kimliğine sahip kullanıcılar için oturum açmayı etkinleştirmek için içinde https://developer.apple.combir uygulama oluşturmanız gerekir. Daha fazla bilgi için bkz . Apple ile oturum açma. Henüz bir Apple geliştirici hesabınız yoksa Apple Geliştirici Programı'nda kaydolabilirsiniz.

  1. Hesap kimlik bilgilerinizle Apple Geliştirici Portalı'nda oturum açın.
  2. Menüden Sertifikalar, Kimlikler, & Profiller'i ve ardından (+) öğesini seçin.
  3. Yeni Tanımlayıcı Kaydet için Uygulama Kimlikleri'ni ve ardından Devam'ı seçin.
  4. Tür seçin için Uygulama'yı ve ardından Devam'ı seçin.
  5. Uygulama Kimliği Kaydetme için:
    1. Açıklama Girin
    2. Paket Kimliğini girin, örneğincom.contoso.azure-ad-b2c.
    3. Özellikler için özellikler listesinden Apple ile oturum aç'ı seçin.
    4. Bu adımdan Ekip Kimliğinizi (Uygulama Kimliği Ön Eki) not alın. Buna daha sonra ihtiyacınız olacak.
    5. Devam'ı ve ardından Kaydet'i seçin.
  6. Menüden Sertifikalar, Kimlikler, & Profiller'i ve ardından (+) öğesini seçin.
  7. Yeni Tanımlayıcı Kaydet için Hizmet Kimlikleri'ni ve ardından Devam'ı seçin.
  8. Hizmet Kimliğini Kaydetme için:
    1. Bir Açıklama girin. Açıklama, kullanıcıya onay ekranında gösterilir.
    2. Tanımlayıcıyı girin, örneğincom.consoto.azure-ad-b2c-service. Hizmet Kimliği tanımlayıcınızı not alın. Tanımlayıcı, OpenID Bağlan akışı için İstemci Kimliğinizdir.
    3. Devam'ı ve ardından Kaydet'i seçin.
  9. Tanımlayıcılar'dan oluşturduğunuz tanımlayıcıyı seçin.
  10. Apple ile Oturum Aç'ı ve ardından Yapılandır'ı seçin.
    1. Apple ile oturum aç'ı yapılandırmak istediğiniz Birincil Uygulama Kimliğini seçin.
    2. Etki Alanları ve Alt Etki Alanları alanına girinyour-tenant-name.b2clogin.com. kiracınızın adını kiracınızın adıyla değiştirin. Özel bir etki alanı kullanıyorsanız girin https://your-domain-name.
    3. Dönüş URL'leri alanına girinhttps://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp. Özel bir etki alanı kullanıyorsanız girin https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. değerini kiracınızın adıyla ve your-domain-name özel etki alanınızla değiştirinyour-tenant-name. Dönüş URL'sinin küçük harfle yazılması gerekir.
    4. İleri'yi ve ardından Bitti'yi seçin.
    5. Açılır pencere kapatıldığında Devam'ı ve ardından Kaydet'i seçin.

Apple istemci gizli dizisi oluşturma

  1. Apple Geliştirici portalı menüsünden Anahtarlar'ı ve ardından (+) öğesini seçin.
  2. Yeni Anahtar Kaydetme için:
    1. Bir Anahtar Adı yazın.
    2. Apple ile oturum aç'ı ve ardından Yapılandır'ı seçin.
    3. Birincil Uygulama Kimliği için daha önce oluşturduğunuz uygulamayı ve ardından Kaydet'i seçin.
    4. Yapılandır'ı ve ardından Kaydet'i seçerek anahtar kayıt işlemini tamamlayın. Anahtar Kimliğini not alın. Kullanıcı akışlarını yapılandırırken bu anahtar gereklidir.
  3. Anahtarınızı İndir için İndir'i seçerek anahtarınızı içeren bir .p8 dosyasını indirin.

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

  1. Azure portalında 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 hizmetleri'nin altında Azure AD B2C'yi seçin. Azure AD B2C'yi bulmak ve seçmek için arama kutusunu da kullanabilirsiniz.
  4. Kimlik sağlayıcıları'nın ardından Apple'ı seçin.
  5. Ad alanına Apple ile oturum açın yazın.
  6. Apple geliştirici kimliğini (Ekip Kimliği) girin.
  7. Apple hizmet kimliğini (İstemci Kimliği) girin.
  8. Apple istemci gizli dizisi oluşturma adımındaki Apple anahtar kimliğini girin.
  9. Apple sertifika verilerini seçin ve karşıya yükleyin.
  10. Kaydet'i seçin.

Önemli

  • Apple ile oturum açmak için Yönetici her 6 ayda bir istemci gizli dizisini yenilemesi gerekir.
  • Apple istemci gizli dizisi süresi dolduğunda otomatik olarak yenilenir. Gizli diziyi el ile yenilemeniz gerekiyorsa Azure portalında Azure AD B2C'yi açın, Kimlik sağlayıcıları>Apple'a gidin ve Gizli diziyi yenile'yi seçin.
  • Apple ile oturum açma düğmesini sunma yönergelerini izleyin.

Apple kimlik sağlayıcısını kullanıcı akışına ekleme

Kullanıcıların Apple kimliği kullanarak oturum açmasını sağlamak için Apple kimlik sağlayıcısını bir kullanıcı akışına eklemeniz gerekir. Apple ile oturum açma yalnızca kullanıcı akışlarının önerilen sürümü için yapılandırılabilir. Apple 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. Apple kimlik sağlayıcısını eklemek istediğiniz kullanıcı akışını seçin.
  3. Sosyal kimlik sağlayıcıları'nın altında Apple'ı seçin.
  4. Kaydet'i seçin.
  5. İlkenizi test etmek için Kullanıcı akışını çalıştır'ı seçin.
  6. Uygulama için daha önce kaydettiğiniz testapp1 adlı web uygulamasını seçin. Yanıt URL'si göstermelidirhttps://jwt.ms.
  7. Kullanıcı akışını çalıştır düğmesini seçin.
  8. Kaydolma veya oturum açma sayfasında Apple kimliğiyle oturum açmak için Apple'ı 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.

İstemci gizli dizisini imzalama

İstemci gizli dizisini bir JWT belirtecinde imzalamak için daha önce indirdiğiniz .p8 dosyasını kullanın. Sizin için JWT oluşturabilen ve imzalayan birçok kitaplık vardır. Sizin için belirteç oluşturan Azure İşlevini kullanın.

  1. Azure İşlevi oluşturma.

  2. Geliştirici'nin altında Kod + Test'i seçin.

  3. run.csx dosyasının içeriğini kopyalayın ve düzenleyiciye yapıştırın.

  4. Kaydet'i seçin.

  5. HTTP POST isteğinde bulunup aşağıdaki bilgileri sağlayın:

    • appleTeamId: Apple Geliştirici Ekibi Kimliğiniz
    • appleServiceId: Apple Hizmet Kimliği (istemci kimliği)
    • appleKeyId: JWT Üst Bilgisinde depolanan 10 basamaklı Anahtar Kimliği (Apple tarafından gereklidir)
    • p8key: PEM biçim anahtarı. Bunu, .p8 dosyasını bir metin düzenleyicisinde açarak ve satır sonları arasında -----BEGIN PRIVATE KEY----- ve -----END PRIVATE KEY----- satır sonları olmadan her şeyi kopyalayarak elde edebilirsiniz.

Aşağıdaki json, Azure işlevine yönelik bir çağrı örneğidir:

{
    "appleTeamId": "ABC123DEFG",
    "appleServiceId": "com.yourcompany.app1",
    "appleKeyId": "URKEYID001",
    "p8key": "MIGTAgEAMBMGByqGSM49AgEGCCqGSM49AwEHBHkwdwIBAQQg+s07NiAcuGEu8rxsJBG7ttupF6FRe3bXdHxEipuyK82gCgYIKoZIzj0DAQehRANCAAQnR1W/KbbaihTQayXH3tuAXA8Aei7u7Ij5OdRy6clOgBeRBPy1miObKYVx3ki1msjjG2uGqRbrc1LvjLHINWRD"
}

Azure işlevi, bir yanıtta düzgün biçimlendirilmiş ve imzalanmış bir gizli dizi JWT ile yanıt verir, örneğin:

{
    "token": "eyJhbGciOiJFUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiJjb20ueW91cmNvbXBhbnkuYXBwMSIsIm5iZiI6MTU2MDI2OTY3NSwiZXhwIjoxNTYwMzU2MDc1LCJpc3MiOiJBQkMxMjNERUZHIiwiYXVkIjoiaHR0cHM6Ly9hcHBsZWlkLmFwcGxlLmNvbSJ9.Dt9qA9NmJ_mk6tOqbsuTmfBrQLFqc9BnSVKR6A-bf9TcTft2XmhWaVODr7Q9w1PP3QOYShFXAnNql5OdNebB4g"
}

İlke anahtarı oluşturma

Daha önce Azure AD B2C kiracınızda kaydettiğiniz istemci gizli dizisini 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 hizmetleri'nin altında Azure AD B2C'yi seçin. Azure AD B2C'yi bulmak ve seçmek için arama kutusunu da kullanabilirsiniz.
  4. Genel Bakış sayfasında Kimlik Deneyimi Çerçevesi'ni seçin.
  5. İlke Anahtarları'nı ve ardından Ekle'yi seçin.
  6. Seçenekler için El ile'yi seçin.
  7. İlke anahtarı için bir Ad girin. Örneğin, "AppleSecret". "B2C_1A_" ön eki anahtarınızın adına otomatik olarak eklenir.
  8. Gizli Dizi alanına Azure İşlevi (JWT belirteci) tarafından döndürülen bir belirtecin değerini girin.
  9. Anahtar kullanımı için İmza'yı seçin.
  10. Oluştur seçeneğini belirleyin.

Önemli

  • Apple ile oturum açmak için Yönetici her 6 ayda bir istemci gizli dizisini yenilemesi gerekir.
  • Süresi dolarsa Apple gizli dizisini el ile yenilemeniz ve yeni değeri ilke anahtarında depolamanız gerekir.
  • Yeni bir istemci gizli dizisi oluşturmak için 6 ay içinde kendi anımsatıcınızı ayarlamanızı öneririz.
  • Apple ile oturum açma düğmesini sunma yönergelerini izleyin.

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

Kullanıcıların Apple kimliği 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ğinin doğrulandığını doğrulamak için Azure AD B2C tarafından kullanılan bir talep kümesi sağlar.

Apple Kimliğini, ilkenizin uzantı dosyasındaki ClaimsProviders öğesine ekleyerek talep sağlayıcısı olarak tanımlayabilirsiniz.

  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>apple.com</Domain>
      <DisplayName>Apple</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Apple-OIDC">
          <DisplayName>Sign in with Apple</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="ProviderName">apple</Item>
            <Item Key="authorization_endpoint">https://appleid.apple.com/auth/authorize</Item>
            <Item Key="AccessTokenEndpoint">https://appleid.apple.com/auth/token</Item>
            <Item Key="JWKS">https://appleid.apple.com/auth/keys</Item>
            <Item Key="issuer">https://appleid.apple.com</Item>
            <Item Key="scope">name email openid</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="response_types">code</Item>
            <Item Key="external_user_identity_claim_id">sub</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="ReadBodyClaimsOnIdpRedirect">user.name.firstName user.name.lastName user.email</Item>
            <Item Key="client_id">You Apple ID</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_AppleSecret"/>
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" DefaultValue="https://appleid.apple.com" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="user.name.firstName"/>
            <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="user.name.lastName"/>
            <OutputClaim ClaimTypeReferenceId="email" />
          </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 hizmet tanımlayıcısına ayarlayın. Örneğin, com.consoto.azure-ad-b2c-service.

  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="AppleExchange" />
  </ClaimsProviderSelections>
  ...
</OrchestrationStep>

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="AppleExchange" TechnicalProfileReferenceId="Apple-OIDC" />
  </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 Apple kimliğiyle oturum açmak için Apple'ı 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.

Kullanıcı arabiriminizi özelleştirme

Apple ile oturum açma teklifi yönergelerini izleyin. Apple, kullanıcıların hesap ayarlamasına ve oturum açmasına izin vermek için kullanabileceğiniz çeşitli Apple ile oturum açma düğmeleri sağlar. Gerekirse, Apple ile oturum açma özelliğini sunmak için özel bir düğme oluşturun. Apple ile oturum aç düğmesini görüntülemeyi öğrenin.

Apple kullanıcı arabirimi yönergeleriyle uyumlu hale getirmek için: