Siapkan rincian masuk untuk Azure Active Directory multipenyewa menggunakan kebijakan kustom di Azure Active Directory B2C

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.

Fitur ini tersedia hanya untuk kebijakan kustom. Untuk langkah-langkah penyiapan, pilih Kebijakan kustom dalam pemilih sebelumnya.

Artikel ini memperlihatkan kepada Anda cara mengaktifkan rincian masuk untuk pengguna dengan menggunakan titik akhir multipenyewa untuk Azure Active Directory (Azure AD). Mengizinkan pengguna dari beberapa penyewa Azure Active Directory untuk masuk menggunakan Azure Active Directory B2C, tanpa Anda harus mengonfigurasi IdP untuk setiap penyewa. Namun, anggota tamu di salah satu penyewa ini tidak akan dapat masuk. Untuk itu, Anda perlu mengonfigurasi setiap penyewa secara individual.

Prasyarat

Catatan

Pada artikel ini, diasumsikan bahwa paket permulaan SocialAndLocalAccounts digunakan dalam langkah-langkah sebelumnya yang disebutkan dalam prasyarat.

Mendaftarkan aplikasi Microsoft Azure AD

Untuk mengaktifkan rincian masuk untuk pengguna dengan akun Azure Active Directory di Azure Active Directory B2C. (Azure AD B2C), Anda perlu membuat aplikasi di portal Microsoft Azure. Untuk informasi selengkapnya, lihat Daftarkan aplikasi dengan platform identitas Microsoft.

  1. Masuk ke portal Microsoft Azure.

  2. Pastikan Anda menggunakan direktori yang berisi penyewa Azure Active Directory organisasi Anda (misalnya, Contoso). Pilih ikon Direktori + langganan di bilah alat portal.

  3. Pada Setelan portal | Direktori + langganan, temukan direktori Azure AD Anda di daftar Nama direktori, lalu pilih Beralih.

  4. Pilih Semua layanan di sudut kiri atas portal Microsoft Azure, lalu cari dan pilih Pendaftaran aplikasi.

  5. Klik Pendaftaran baru.

  6. Masukkan Nama untuk aplikasi Anda. Contohnya:Azure AD B2C App

  7. Pilih Akun di direktori organisasi apa pun (direktori Azure Active Directory apa pun – Multipenyewa) untuk aplikasi ini.

  8. Untuk URI Pengalihan, terima nilai Web, dan masukkan URL berikut di semua huruf kecil, di mana your-B2C-tenant-name diganti dengan nama penyewa Azure Active Directory B2C Anda.

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

    Contohnya:https://fabrikam.b2clogin.com/fabrikam.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.

  9. Pilih Daftar. Rekam ID Aplikasi (klien) untuk digunakan di langkah selanjutnya.

  10. Pilih Sertifikat & rahasia, lalu pilih Rahasia klien baru.

  11. Masukkan Deskripsi untuk rahasia tersebut, pilih kedaluwarsa, lalu pilih Tambahkan. Rekam Nilai rahasia untuk digunakan di langkah selanjutnya.

Mengonfigurasi klaim opsional

Jika Anda ingin mendapatkan family_name, dan klaim given_name dari Azure Active Directory, Anda dapat mengonfigurasi klaim opsional untuk aplikasi Anda di antarmuka pengguna portal Microsoft Azure atau manifes aplikasi. Untuk informasi selengkapnya, lihat Cara memberikan klaim opsional ke aplikasi Azure Active Directory Anda.

  1. Masuk ke portal Microsoft Azure. Cari dan pilih Azure Active Directory.
  2. Dari bagian Kelola, pilih Pendaftaran aplikasi.
  3. Pilih aplikasi yang Anda ingin untuk konfigurasi klaim opsional dalam daftar.
  4. Dari bagian Kelola, pilih Konfigurasi token.
  5. Pilih Tambahkan klaim opsional.
  6. Untuk Jenis token, pilih ID.
  7. Pilih klaim opsional untuk ditambahkan, family_name dan given_name.
  8. Pilih Tambahkan. Jika Aktifkan izin email Microsoft Graph (diperlukan agar klaim muncul di token) muncul, pilih aktifkan, lalu pilih Tambahkan lagi.

[Opsional] Memverifikasi keaslian aplikasi Anda

Verifikasi penerbit membantu pengguna memahami keaslian aplikasi yang Anda daftarkan. Aplikasi terverifikasi berarti bahwa penerbit aplikasi telah memverifikasi identitas mereka menggunakan Microsoft Partner Network (MPN) mereka. Pelajari cara menandai aplikasi sebagai terverifikasi penerbit.

Membuat kunci kebijakan

Anda perlu menyimpan kunci aplikasi yang Anda buat di penyewa Azure Active Directory B2C Anda.

  1. Pastikan Anda menggunakan direktori yang berisi penyewa AAD B2C Anda. Pilih ikon Direktori + langganan di bilah alat portal.
  2. Pada Setelan portal | Direktori + langganan, temukan direktori Azure AD B2C Anda di daftar Nama direktori, lalu pilih Beralih.
  3. Pilih Semua layanan di pojok kiri atas portal Microsoft Azure, lalu cari dan pilih Azure AD B2C.
  4. Di bawah Kebijakan, pilih IEF.
  5. Pilih Kunci kebijakan lalu pilih Tambahkan.
  6. Untuk Opsi, pilih Manual.
  7. Masukkan Nama untuk kunci kebijakan. Contohnya:AADAppSecret Prefiks B2C_1A_ ditambahkan secara otomatis ke nama kunci Anda saat dibuat, sehingga referensinya di XML di bagian berikut adalah untuk B2C_1A_AADAppSecret.
  8. Di Rahasia, masukkan rahasia klien Anda yang sebelumnya Anda rekam.
  9. Untuk Penggunaan kunci, pilih Signature.
  10. Pilih Buat.

Konfigurasikan Azure Active Directory sebagai IdP

Untuk memungkinkan pengguna masuk menggunakan akun Azure Active Directory, Anda perlu menentukan Azure Active Directory sebagai penyedia klaim yang dapat dikomunikasikan dengan Azure Active Directory B2C melalui titik akhir. Titik akhir menyediakan serangkaian klaim yang digunakan oleh Azure AD B2C untuk memverifikasi bahwa pengguna tertentu telah diautentikasi.

Anda dapat menentukan Azure Active Directory sebagai penyedia klaim dengan menambahkannya ke elemen ClaimsProvider dalam file ekstensi kebijakan Anda.

  1. Buka file SocialAndLocalAccounts/TrustFrameworkExtensions.xml (lihat file yang telah Anda gunakan di prasyarat).

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

  3. Tambahkan ClaimsProvider baru sebagai berikut:

    <ClaimsProvider>
      <Domain>commonaad</Domain>
      <DisplayName>Common AAD</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="AADCommon-OpenIdConnect">
          <DisplayName>Multi-Tenant AAD</DisplayName>
          <Description>Login with your Contoso account</Description>
          <Protocol Name="OpenIdConnect"/>
          <Metadata>
            <Item Key="METADATA">https://login.microsoftonline.com/common/v2.0/.well-known/openid-configuration</Item>
            <!-- Update the Client ID below to the Application ID -->
            <Item Key="client_id">00000000-0000-0000-0000-000000000000</Item>
            <Item Key="response_types">code</Item>
            <Item Key="scope">openid profile</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
            <Item Key="DiscoverMetadataByTokenIssuer">true</Item>
            <!-- The key below allows you to specify each of the Azure AD tenants that can be used to sign in. Update the GUIDs below for each tenant. -->
            <Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000,https://login.microsoftonline.com/11111111-1111-1111-1111-111111111111</Item>
            <!-- The commented key below specifies that users from any tenant can sign-in. Uncomment if you would like anyone with an Azure AD account to be able to sign in. -->
            <!-- <Item Key="ValidTokenIssuerPrefixes">https://login.microsoftonline.com/</Item> -->
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_AADAppSecret"/>
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="oid"/>
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="name" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName"/>
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName"/>
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId"/>
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId"/>
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin"/>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Di bawah elemen PenyediaKlaim, perbarui nilai untuk Domain ke nilai unik yang dapat digunakan untuk membedakannya dari IdP lain.

  5. Di bawah elemen ProfilTeknis, perbarui nilai untuk DisplayName, misalnya, Multi-Tenant AAD. Nilai ini ditampilkan pada tombol rincian masuk di halaman masuk Anda.

  6. Atur klien_id ke ID aplikasi dari aplikasi multipenyewa Azure Active Directory yang Anda daftarkan sebelumnya.

  7. Di bawah CryptographicKeys, perbarui nilai StorageReferenceId ke nama kunci kebijakan yang dibuat sebelumnya. Contohnya:B2C_1A_AADAppSecret

Batasi akses

Menggunakan https://login.microsoftonline.com/ sebagai nilai untuk ValidTokenIssuerPrefixes memungkinkan semua pengguna Azure Active Directory untuk masuk ke aplikasi Anda. Perbarui daftar pengeluar sertifikat token yang valid dan batasi akses ke daftar tertentu pengguna penyewa Azure Active Directory yang dapat masuk.

Untuk mendapatkan nilai, lihat metadata penemuan OpenID Connect untuk setiap penyewa Azure Active Directory yang Anda inginkan agar pengguna masuk. Format URL metadata mirip dengan https://login.microsoftonline.com/your-tenant/v2.0/.well-known/openid-configuration, yang mana your-tenant adalah nama penyewa Azure Active Directory Anda. Contohnya:

https://login.microsoftonline.com/fabrikam.onmicrosoft.com/v2.0/.well-known/openid-configuration

Lakukan langkah-langkah ini untuk setiap penyewa Azure Active Directory yang harus digunakan untuk masuk:

  1. Buka browser Anda dan buka URL metadata OpenID Connect untuk penyewa. Temukan objek issuer dan rekam nilainya. Nilainya akan terlihat mirip dengan https://login.microsoftonline.com/00000000-0000-0000-0000-000000000000/v2.0.
  2. Salin dan tempel nilai ke dalam kunci ValidTokenIssuerPrefixes. Pisahkan beberapa pengeluar sertifikat dengan koma. Contoh dengan dua pengeluar sertifikat muncul di sampel XML ClaimsProvider sebelumnya.

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

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="AzureADCommonExchange" TechnicalProfileReferenceId="AADCommon-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 Microsoft 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 Azure AD B2C.
  4. Di 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 akan menampilkan https://jwt.ms.
  3. Pilih tombol Jalankan sekarang.
  4. Dari halaman pendaftaran atau masuk, pilih AAD Umum untuk masuk dengan akun Azure Active Directory.

Untuk menguji kemampuan masuk multipenyewa, lakukan dua langkah terakhir menggunakan informasi masuk untuk pengguna yang ada penyewa Azure Active Directory lain. Salin Jalankan titik akhir sekarang dan buka di jendela browser privat, misalnya, Mode Incognito di Google Chrome atau jendela InPrivate di Microsoft Edge. Membuka di jendela browser privat memungkinkan Anda untuk menguji perjalanan penuh dengan tidak menggunakan informasi masuk Azure Active Directory yang saat ini ditembolokkan.

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

Langkah berikutnya