Menyiapkan pendaftaran dan rincian masuk dengan akun AAD B2C dari penyewa AAD B2C lain

Sebelum memulai, gunakan pemilih Pilih jenis kebijakan untuk memilih jenis kebijakan yang Anda siapkan. Azure Active Directory B2C menawarkan dua metode untuk menentukan cara pengguna berinteraksi dengan aplikasi Anda: melalui alur pengguna yang telah ditentukan sebelumnya atau melalui kebijakan kustom yang sepenuhnya dapat dikonfigurasi. Langkah yang diperlukan dalam artikel ini berbeda untuk setiap metode.

Catatan

Di Azure Active Directory B2C, kebijakan kustom didesain khusus untuk menangani skenario kompleks. Untuk skenario umum, sebaiknya gunakan alur pengguna bawaan. Jika Anda belum melakukannya, pelajari tentang paket starter kebijakan kustom di Mulai dengan kebijakan kustom di Azure Active Directory B2C.

Gambaran Umum

Artikel ini menjelaskan cara menyiapkan federasi dengan penyewa Azure AD B2C lainnya. Saat aplikasi Anda dilindungi dengan Azure AD B2C, ini memungkinkan pengguna dari Azure AD B2C lain untuk masuk dengan akun mereka yang sudah ada. Dalam diagram berikut, pengguna dapat masuk ke aplikasi yang dilindungi oleh Azure AD B2C Contoso, dengan akun yang dikelola oleh penyewa Azure AD B2C Fabrikam. Dalam hal ini, akun pengguna harus ada di penyewa Fabrikam sebelum aplikasi yang dilindungi oleh Azure AD B2C Contoso dapat mencoba masuk.

Azure AD B2C federation with another Azure AD B2C tenant

Prasyarat

Memverifikasi domain penerbit aplikasi

Mulai November 2020, pendaftaran aplikasi baru muncul sebagai belum diverifikasi di permintaan izin pengguna kecuali domain penerbit aplikasi diverifikasidan identitas perusahaan telah diverifikasi dengan Jaringan Mitra Microsoft dan terkait dengan aplikasi. (Pelajari selengkapnya tentang perubahan ini.) Perhatikan bahwa untuk alur pengguna Azure AD B2C, domain penerbit hanya muncul saat menggunakan akun Microsoft atau penyewa Microsoft Entra lainnya sebagai penyedia identitas. Untuk memenuhi persyaratan baru ini, lakukan hal berikut:

  1. Verifikasi identitas perusahaan Anda menggunakan akun Microsoft Partner Network (MPN) Anda. Proses ini memverifikasi informasi tentang perusahaan Anda dan kontak utama perusahaan Anda.
  2. Selesaikan proses verifikasi penerbit untuk mengaitkan akun MPN Anda dengan pendaftaran aplikasi Anda menggunakan salah satu opsi berikut:

Membuat aplikasi Azure AD B2C

Untuk mengaktifkan masuk bagi pengguna dengan akun dari penyewa Azure AD B2C lain (misalnya, Fabrikam), di Azure AD B2C Anda (misalnya, Contoso):

  1. Buat alur pengguna, atau kebijakan kustom.
  2. Kemudian buat aplikasi di Azure AD B2C, seperti yang dijelaskan di bagian ini.

Untuk membuat aplikasi.

  1. Masuk ke portal Azure.

  2. Jika Anda memiliki akses ke beberapa penyewa, pilih ikon Pengaturan di menu atas untuk beralih ke penyewa Azure AD B2C Anda dari menu Direktori + langganan.

  3. Di portal Microsoft Azure, cari dan pilih AAD B2C.

  4. Pilih Pendaftaran aplikasi, lalu pilih Pendaftaran baru.

  5. Masukkan Nama untuk aplikasi. Misalnya, ContosoApp.

  6. Di bagian Tipe akun yang didukung, pilih Akun di penyedia identitas atau direktori organisasi apa pun (untuk mengautentikasi pengguna dengan alur pengguna).

  7. Di bawah Redirect URI, pilih Web, lalu masukkan URL berikut dengan semua huruf kecil, di mana your-B2C-tenant-name diganti dengan nama penyewa Azure AD B2C Anda (misalnya, Contoso).

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

    Contohnya, https://contoso.b2clogin.com/contoso.onmicrosoft.com/oauth2/authresp.

    Jika Anda menggunakan domain kustom, masukkan https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Ganti your-domain-name dengan domain kustom Anda, dan your-tenant-name dengan nama penyewa Anda.

  8. Di bagian Izin, pilih kotak centang Berikan izin admin untuk openid dan akses offline.

  9. Pilih Daftarkan.

  10. Di halaman Azure AD B2C - Pendaftaran aplikasi, pilih aplikasi yang Anda buat, misalnya ContosoApp.

  11. Catat ID Aplikasi (klien) yang terlihat pada halaman Gambaran umum aplikasi. Anda memerlukan ID klien saat mengonfigurasi IdP di bagian berikutnya.

  12. Di menu sebelah kiri, di bagian Kelola, pilih Sertifikat & rahasia.

  13. Pilih Rahasia klien baru.

  14. Masukkan deskripsi untuk rahasia klien dalam kotak Deskripsi. Misalnya, clientsecret1.

  15. Di bawahKedaluwarsa, pilih durasi yang membuat rahasia tersebut valid, lalu pilih Tambahkan.

  16. Catat Nilai rahasia. Anda memerlukan ID klien saat mengonfigurasi IdP di bagian berikutnya.

Konfigurasikan Azure AD B2C sebagai penyedia identitas

  1. Masuk ke portal Azure.

  2. Jika Anda memiliki akses ke beberapa penyewa, pilih ikon Pengaturan di menu atas untuk beralih ke penyewa Azure AD B2C Anda dari menu Direktori + langganan.

  3. Pilih Semua layanan di pojok kiri atas portal Microsoft Azure, lalu cari dan pilih AAD B2C.

  4. Pilih Penyedia identitas, lalu pilih Penyedia OpenID Connect baru.

  5. Masukkan nama . Misalnya, masukkan Fabrikam.

  6. Untuk url Metadata, masukkan URL berikut menggantikan {tenant} dengan nama domain penyewa Azure AD B2C Anda (misalnya, Fabrikam). Ganti {policy} dengan nama kebijakan yang Anda konfigurasikan di penyewa lain:

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

    Contohnya, https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/B2C_1_susi/v2.0/.well-known/openid-configuration.

  7. Untuk ID Klien, masukkan ID aplikasi yang sebelumnya Anda rekam.

  8. Untuk Rahasia klien, masukkan rahasia klien yang Anda rekam sebelumnya.

  9. Untuk Cakupan, masukkan openid.

  10. Biarkan nilai default untuk Jenis respons, dan Mode respons.

  11. (Opsional) Untuk Petunjuk domain, masukkan nama domain yang ingin Anda gunakan untuk masuk langsung. Misalnya fabrikam.com.

  12. Di Pemetaan klaim IdP, pilih klaim berikut:

    • ID Pengguna: sub
    • Nama tampilan: nama
    • Nama pemberian: nama_pemberian
    • Nama belakang: nama_keluarga
    • Email: email
  13. Pilih Simpan.

Tambahkan penyedia identitas Azure AD B2C ke alur pengguna

  1. Di penyewa AAD B2C Anda, pilih Alur pengguna.
  2. Klik alur pengguna yang ingin Anda tambahkan penyedia identitas Azure AD B2C.
  3. Di bawah Penyedia identitas sosial, pilih Fabrikam.
  4. Pilih Simpan.
  5. Untuk menguji kebijakan Anda, pilih Jalankan alur pengguna.
  6. Untuk Aplikasi, pilih aplikasi web bernama testapp1 yang Anda daftarkan sebelumnya. URL Balasan harus menunjukkan https://jwt.ms.
  7. Klik tombol Jalankan alur pengguna.
  8. Dari halaman pendaftaran atau masuk, pilih Fabrikam untuk masuk dengan penyewa Azure AD B2C lainnya.

Jika proses masuk berhasil, browser Anda dialihkan ke https://jwt.ms, yang menampilkan konten token yang dikembalikan oleh Azure AD B2C.

Buat kunci kebijakan

Anda perlu menyimpan kunci aplikasi yang Anda buat sebelumnya di penyewa Azure AD B2C Anda.

  1. Jika Anda memiliki akses ke beberapa penyewa, pilih ikon Pengaturan di menu atas untuk beralih ke penyewa Azure AD B2C Anda dari menu Direktori + langganan.
  2. Pilih Semua layanan di pojok kiri atas portal Microsoft Azure, lalu cari dan pilih AAD B2C.
  3. Di bagian Kebijakan, pilih IEF.
  4. Pilih Kunci kebijakan lalu pilih Tambahkan.
  5. Untuk Opsi, pilih Manual.
  6. Masukkan Nama untuk kunci kebijakan. Contohnya, FabrikamAppSecret. Awalan B2C_1A_ ditambahkan secara otomatis ke nama kunci Anda saat dibuat, jadi referensinya dalam XML di bagian berikut adalah ke B2C_1A_FabrikamAppSecret.
  7. Di Rahasia, masukkan rahasia klien Anda yang sebelumnya Anda rekam.
  8. Untuk Penggunaan kunci, pilih Signature.
  9. Pilih Buat.

Konfigurasikan Azure AD B2C sebagai penyedia identitas

Untuk memungkinkan pengguna masuk menggunakan akun dari penyewa Azure AD B2C (Fabrikam), Anda perlu menentukan Azure AD B2C lain sebagai penyedia klaim yang dapat berkomunikasi dengan Azure AD B2C melalui titik akhir. Titik akhir menyediakan set klaim yang digunakan oleh Azure AD B2C untuk memverifikasi bahwa pengguna tertentu telah diautentikasi.

Anda dapat menentukan Azure AD B2C sebagai penyedia klaim dengan menambahkan Azure AD B2C ke elemen ClaimsProvider di file ekstensi kebijakan Anda.

  1. Buka file TrustFrameworkExtensions.xml.

  2. Temukan elemen ClaimsProviders. Jika tidak ada, tambahkan di bawah elemen akar.

  3. Tambahkan ClaimsProvider baru sebagai berikut:

    <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. Perbarui elemen XML berikut ini dengan nilai yang relevan:

    Elemen XML Nilai
    ClaimsProvider\Domain Nama domain yang digunakan untuk rincian masuk langsung. Masukkan nama domain yang ingin Anda gunakan di rincian masuk langsung. Misalnya fabrikam.com.
    TechnicalProfile\DisplayName Nilai ini akan ditampilkan pada tombol rincian masuk di layar rincian masuk Anda. Misal seperti Fabrikam.
    Metadata\client_id Pengidentifikasi aplikasi IdP. Perbarui ID Klien dengan ID Aplikasi yang Anda buat sebelumnya di penyewa Azure AD B2C lainnya.
    Metadata\METADATA URL yang mengarah ke dokumen konfigurasi IdP OpenID Connect, yang juga dikenal sebagai titik akhir konfigurasi OpenID yang telah dikenal. Masukkan URL berikut menggantikan {tenant} dengan nama domain penyewa Azure AD B2C lainnya (Fabrikam). Ganti {tenant} dengan nama kebijakan yang Anda konfigurasikan di penyewa lain, dan {policy] dengan nama kebijakan: https://{tenant}.b2clogin.com/{tenant}.onmicrosoft.com/{policy}/v2.0/.well-known/openid-configuration. Contohnya, https://fabrikam.b2clogin.com/fabrikam.onmicrosoft.com/B2C_1_susi/v2.0/.well-known/openid-configuration.
    CryptographicKeys Perbarui nilai StorageReferenceId ke nama kunci kebijakan yang dibuat sebelumnya. Contohnya, B2C_1A_FabrikamAppSecret.

Menambahkan perjalanan pengguna

Pada tahap ini, penyedia identitas telah disiapkan, tetapi belum tersedia di halaman masuk mana pun. Jika Anda tidak memiliki perjalanan pengguna kustom Anda sendiri, buat duplikat perjalanan pengguna template yang sudah ada, jika tidak lanjutkan ke langkah berikutnya.

  1. Buka file TrustFrameworkBase.xml dari paket pemula.
  2. Temukan dan salin seluruh konten elemen UserJourney yang menyertakan Id="SignUpOrSignIn".
  3. Buka TrustFrameworkExtensions.xml dan temukan elemen UserJourneys. Jika elemen tersebut tidak ada, tambahkan.
  4. Tempelkan seluruh konten elemen UserJourney yang Anda salin sebagai anak dari elemen UserJourneys.
  5. Ganti nama Id perjalanan pengguna. Contohnya, Id="CustomSignUpSignIn".

Tambahkan penyedia identitas ke perjalanan pengguna

Sekarang setelah Anda memiliki perjalanan pengguna, tambahkan penyedia identitas baru ke perjalanan pengguna. Anda terlebih dahulu menambahkan tombol masuk, lalu tautkan tombol tersebut ke tindakan. Tindakan ini adalah profil teknis yang Anda buat sebelumnya.

  1. Dalam perjalanan pengguna, temukan elemen langkah orkestrasi yang mencakup Type="CombinedSignInAndSignUp" atau Type="ClaimsProviderSelection". Ini biasanya langkah orkestrasi pertama. Elemen ClaimsProviderSelections berisi daftar penyedia identitas yang dapat digunakan pengguna untuk masuk. Urutan elemen mengontrol urutan tombol masuk yang disajikan kepada pengguna. Tambahkan elemen XML ClaimsProviderSelection. Tetapkan nilai TargetClaimsExchangeId ke nama yang bersahabat.

  2. Pada langkah orkestrasi berikutnya, tambahkan elemen ClaimsExchange. Set Id ke nilai pertukaran klaim target Id. Perbarui nilai TechnicalProfileReferenceId ke Id profil teknis yang Anda buat sebelumnya.

XML berikut menunjukkan dua langkah orkestrasi pertama dari perjalanan pengguna dengan penyedia identitas:

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

Mengonfigurasi kebijakan pihak yang diandalkan

Kebijakan pihak yang diandalkan, misalnya SignUpSignIn.xml, menentukan perjalanan yang akan dijalankan Azure AD B2C. Temukan elemen DefaultUserJourney dalam pihak yang diandalkan. Perbarui ReferenceId agar sesuai dengan ID perjalanan, tempat Anda menambahkan IdP.

Dalam contoh berikut, untuk perjalanan CustomSignUpSignIn, ReferenceId diatur ke CustomSignUpSignIn:

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

Mengunggah kebijakan kustom

  1. Masuk ke portal Azure.
  2. Pilih ikon Direktori + Langganan di toolbar portal, lalu pilih direktori yang berisi penyewa Azure AD B2C Anda.
  3. Di portal Microsoft Azure, cari dan pilih AAD B2C.
  4. Di bagian Kebijakan, pilih IEF.
  5. Pilih Unggah Kebijakan Kustom, lalu unggah dua file kebijakan yang Anda ubah, dalam urutan berikut: kebijakan ekstensi, misalnya TrustFrameworkExtensions.xml, lalu kebijakan pihak yang diandalkan, seperti SignUpSignIn.xml.

Menguji kebijakan kustom Anda

  1. Pilih kebijakan pihak yang mengandalkan Anda, misalnya B2C_1A_signup_signin.
  2. Untuk Aplikasi, pilih aplikasi web yang Anda daftarkan sebelumnya. URL Balasan harus menunjukkan https://jwt.ms.
  3. Pilih tombol Jalankan sekarang.
  4. Dari halaman pendaftaran atau masuk, pilih Fabrikam untuk masuk dengan penyewa Azure AD B2C lainnya.

Jika proses masuk berhasil, browser Anda dialihkan ke https://jwt.ms, yang menampilkan konten token yang dikembalikan oleh Azure AD B2C.

Langkah berikutnya

Pelajari cara meneruskan token Azure AD B2C lainnya ke aplikasi Anda.