Başka bir Azure AD B2C kiracısından bir Azure AD B2C 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.

Genel Bakış

Bu makalede, başka bir Azure AD B2C kiracısıyla federasyonun nasıl ayarlanacağı açıklanır. Uygulamalarınız Azure AD B2C'niz ile korunduğunda bu, diğer Azure AD B2C'lerden kullanıcıların mevcut hesaplarıyla oturum açmasına olanak tanır. Aşağıdaki diyagramda kullanıcılar, Fabrikam'ın Azure AD B2C kiracısı tarafından yönetilen bir hesapla Contoso'nun Azure AD B2C tarafından korunan bir uygulamada oturum açabiliyor. Bu durumda Contoso'nun Azure AD B2C tarafından korunan bir uygulamanın oturum açmayı denemesi için önce kullanıcı hesabının Fabrikam kiracısında bulunması gerekir.

Azure AD B2C federation with another Azure AD B2C tenant

Önkoşullar

Uygulamanın yayımcı etki alanını doğrulama

Kasım 2020 itibarıyla, uygulamanın yayımcı etki alanı doğrulanmadığı ve şirketin kimliği Microsoft İş Ortağı Ağı ile doğrulanmadığıve uygulamayla ilişkilendirilmediği sürece yeni uygulama kayıtları kullanıcı onayı isteminde doğrulanmamış olarak gösterilir. (Bu değişiklik hakkında daha fazla bilgi edinin.) Azure AD B2C kullanıcı akışları için yayımcının etki alanının yalnızca kimlik sağlayıcısı olarak bir Microsoft hesabı veya başka bir Microsoft Entra kiracısı kullanıldığında görüneceğini unutmayın. Bu yeni gereksinimleri karşılamak için aşağıdakileri yapın:

  1. Microsoft İş Ortağı Ağı (MPN) hesabınızı kullanarak şirket kimliğinizi doğrulayın. Bu işlem, şirketiniz ve şirketinizin birincil ilgili kişisi hakkındaki bilgileri doğrular.
  2. Aşağıdaki seçeneklerden birini kullanarak MPN hesabınızı uygulama kaydınızla ilişkilendirmek için yayımcı doğrulama işlemini tamamlayın:
    • Microsoft hesabı kimlik sağlayıcısının uygulama kaydı bir Microsoft Entra kiracısındaysa, Uygulama Kaydı portalında uygulamanızı doğrulayın.
    • Microsoft hesabı kimlik sağlayıcısı için uygulama kaydınız bir Azure AD B2C kiracısındaysa, uygulamanızı Microsoft Graph API'lerini kullanarak doğrulanmış yayımcı olarak işaretleyin (örneğin, Graph Gezgini'ni kullanma). Uygulamanın doğrulanmış yayımcısını ayarlama kullanıcı arabirimi şu anda Azure AD B2C kiracıları için devre dışıdır.

Azure AD B2C uygulaması oluşturma

Azure AD B2C'nizde (örneğin, Contoso) başka bir Azure AD B2C kiracısından (örneğin Fabrikam) bir hesabı olan kullanıcılar için oturum açmayı etkinleştirmek için:

  1. Kullanıcı akışı veya özel ilke oluşturma.
  2. Ardından, bu bölümde açıklandığı gibi Azure AD B2C'de bir uygulama oluşturun.

Uygulama oluşturmak için.

  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. Uygulama kayıtları'ı ve ardından Yeni kayıt'ı seçin.

  5. Uygulama için bir Ad girin. Örneğin, ContosoApp.

  6. Desteklenen hesap türleri altında, herhangi bir kimlik sağlayıcısı veya kuruluş dizinindeki hesaplar (Kullanıcı akışı olan kullanıcıların kimliklerini doğrulamak için) seçeneğini belirleyin.

  7. Yeniden Yönlendirme URI'si'nin altında Web'i seçin ve ardından tüm küçük harflerle aşağıdaki URL'yi girin; burada your-B2C-tenant-name azure AD B2C kiracınızın adıyla (örneğin Contoso) değiştirilir.

    https://your-B2C-tenant-name.b2clogin.com/your-B2C-tenant-name.onmicrosoft.com/oauth2/authresp
    

    Örneğin, https://contoso.b2clogin.com/contoso.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 özel etki alanınızla ve your-tenant-name kiracınızın adıyla değiştirinyour-domain-name.

  8. İzinler'in altında Openid ve offline_access izinleri için yönetici onayı ver onay kutusunu seçin.

  9. Kaydet'i seçin.

  10. Azure AD B2C - Uygulama kayıtları sayfasında oluşturduğunuz uygulamayı (örneğin ContosoApp) seçin.

  11. Uygulamaya Genel Bakış sayfasında gösterilen Uygulama (istemci) Kimliğini kaydedin. Sonraki bölümde kimlik sağlayıcısını yapılandırırken buna ihtiyacınız vardır.

  12. Soldaki menüde, Yönet'in altında Sertifika gizli dizileri'ni &seçin.

  13. Yeni gizli anahtar'ı seçin.

  14. Açıklama kutusuna istemci gizli dizisi için bir açıklama girin. Örneğin, clientsecret1.

  15. Süre Sonu'nun altında gizli dizinin geçerli olduğu süreyi seçin ve ardından Ekle'yi seçin.

  16. Gizli dizinin Değerini kaydedin. Sonraki bölümde kimlik sağlayıcısını yapılandırırken buna ihtiyacınız vardır.

Azure AD B2C'yi kimlik sağlayıcısı olarak yapılandırma

  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ının sol üst köşesindeki Tüm hizmetler'i seçin ve ardından Azure AD B2C'yi arayıp seçin.

  4. Kimlik sağlayıcıları'yı ve ardından Yeni OpenID Bağlan sağlayıcı'yı seçin.

  5. Bir Ad girin. Örneğin, Fabrikam yazın.

  6. Meta veri URL'si için aşağıdaki URL'yi girin ve {tenant} yerine Azure AD B2C kiracınızın etki alanı adını (örneğin, Fabrikam) girin. öğesini {policy} diğer kiracıda yapılandırdığınız ilke adıyla değiştirin:

    https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration
    

    Örneğin, https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/B2C_1_susi/v2.0/.well-known/openid-configuration.

  7. İstemci Kimliği için daha önce kaydettiğiniz uygulama kimliğini girin.

  8. İstemci gizli dizisi için daha önce kaydettiğiniz istemci gizli dizisini girin.

  9. Kapsam için girinopenid.

  10. Yanıt türü ve Yanıt modu için varsayılan değerleri bırakın.

  11. (İsteğe bağlı) Etki alanı ipucu için, doğrudan oturum açma için kullanmak istediğiniz etki alanı adını girin. Örneğin, fabrikam.com.

  12. Kimlik sağlayıcısı beyan eşlemesi'nin altında aşağıdaki talepleri seçin:

    • Kullanıcı Kimliği: alt
    • Görünen ad: ad
    • Verilen ad: given_name
    • Soyadı: family_name
    • E-posta: e-posta
  13. Kaydet'i seçin.

Kullanıcı akışına Azure AD B2C kimlik sağlayıcısı ekleme

  1. Azure AD B2C kiracınızda Kullanıcı akışları'yı seçin.
  2. Azure AD B2C kimlik sağlayıcısını eklemek istediğiniz kullanıcı akışına tıklayın.
  3. Sosyal kimlik sağlayıcıları altında Fabrikam'ı 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 Fabrikam'ı seçerek diğer Azure AD B2C kiracısıyla oturum açın.

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.

İlke anahtarı oluşturma

Daha önce oluşturduğunuz uygulama anahtarını Azure AD B2C kiracınızda depolamanız gerekir.

  1. 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.
  2. Azure portalının sol üst köşesindeki Tüm hizmetler'i seçin ve ardından Azure AD B2C'yi arayıp seçin.
  3. İlkeler'in altında Kimlik Deneyimi Çerçevesi'ne tıklayın.
  4. İlke anahtarları'nı ve ardından Ekle'yi seçin.
  5. Seçenekler için öğesini seçinManual.
  6. İlke anahtarı için bir Ad girin. Örneğin, FabrikamAppSecret. Ön ek B2C_1A_ , oluşturulduğunda anahtarınızın adına otomatik olarak eklenir, bu nedenle aşağıdaki bölümdeki XML'deki başvurusu B2C_1A_FabrikamAppSecret.
  7. Gizli dizi alanına, daha önce kaydettiğiniz istemci gizli dizinizi girin.
  8. Anahtar kullanımı için öğesini seçinSignature.
  9. Oluştur seçeneğini belirleyin.

Azure AD B2C'yi kimlik sağlayıcısı olarak yapılandırma

Kullanıcıların başka bir Azure AD B2C kiracısından (Fabrikam) bir hesap kullanarak oturum açmasını sağlamak için, diğer Azure AD B2C'yi 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.

İlkenizin uzantı dosyasındaki ClaimsProvider öğesine Azure AD B2C ekleyerek Azure AD B2C'yi 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>fabrikam.com</Domain>
      <DisplayName>Federation with Fabrikam tenant</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="AzureADB2CFabrikam-OpenIdConnect">
        <DisplayName>Fabrikam</DisplayName>
        <Protocol Name="OpenIdConnect"/>
        <Metadata>
          <!-- Update the Client ID below to the Application ID -->
          <Item Key="client_id">00000000-0000-0000-0000-000000000000</Item>
          <!-- Update the metadata URL with the other Azure AD B2C tenant name and policy name -->
          <Item Key="METADATA">https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration</Item>
          <Item Key="UsePolicyInRedirectUri">false</Item>
          <Item Key="response_types">code</Item>
          <Item Key="scope">openid</Item>
          <Item Key="response_mode">form_post</Item>
          <Item Key="HttpBinding">POST</Item>
        </Metadata>
        <CryptographicKeys>
          <Key Id="client_secret" StorageReferenceId="B2C_1A_FabrikamAppSecret"/>
        </CryptographicKeys>
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
          <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
          <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
          <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
          <OutputClaim ClaimTypeReferenceId="email" PartnerClaimType="email" />
          <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss"  />
          <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
          <OutputClaim ClaimTypeReferenceId="otherMails" PartnerClaimType="emails"/>    
        </OutputClaims>
        <OutputClaimsTransformations>
          <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
          <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
          <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
        </OutputClaimsTransformations>
        <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin"/>
      </TechnicalProfile>
     </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Aşağıdaki XML öğelerini ilgili değerle güncelleştirin:

    XML öğesi Değer
    ClaimsProvider\Domain Doğrudan oturum açma için kullanılan etki alanı adı. Doğrudan oturum açmada kullanmak istediğiniz etki alanı adını girin. Örneğin, fabrikam.com.
    TechnicalProfile\DisplayName Bu değer, oturum açma ekranınızdaki oturum açma düğmesinde görüntülenir. Örneğin, Fabrikam.
    Metadata\client_id Kimlik sağlayıcısının uygulama tanımlayıcısı. İstemci Kimliğini, daha önce diğer Azure AD B2C kiracısında oluşturduğunuz Uygulama Kimliği ile güncelleştirin.
    Metadata\METADATA OpenID iyi bilinen yapılandırma uç noktası olarak da bilinen OpenID Bağlan kimlik sağlayıcısı yapılandırma belgesine işaret eden bir URL. değerini diğer Azure AD B2C kiracısının (Fabrikam) etki alanı adıyla değiştirerek {tenant} aşağıdaki URL'yi girin. öğesini {tenant} diğer kiracıda yapılandırdığınız ilke adıyla ve {policy] ilke adıyla değiştirin: https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration. Örneğin, https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/B2C_1_susi/v2.0/.well-known/openid-configuration.
    CryptographicKeys Depolama ReferenceId değerini daha önce oluşturduğunuz ilke anahtarının adıyla güncelleştirin. Örneğin, B2C_1A_FabrikamAppSecret.

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

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="AzureADB2CFabrikamExchange" TechnicalProfileReferenceId="AzureADB2CFabrikam-OpenIdConnect" />
  </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 Fabrikam'ı seçerek diğer Azure AD B2C kiracısıyla oturum açın.

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.

Sonraki adımlar

Diğer Azure AD B2C belirtecini uygulamanıza geçirmeyi öğrenin.