Tambahkan AD FS sebagai penyedia identitas OpenID Connect menggunakan kebijakan khusus 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.

Prasyarat

Buat aplikasi AD FS

Untuk mengaktifkan masuk untuk pengguna dengan akun AD FS di Azure Active Directory B2C (Azure AD B2C), buat grup aplikasi di FS AD Anda. Untuk informasi selengkapnya, lihat Membangun aplikasi web menggunakan OpenID Connect dengan AD FS 2016 dan versi lebih baru

Untuk membuat Grup Aplikasi, ikuti langkah-langkah berikut:

  1. Di Manajer Server, pilih Alat, dan lalu pilih Manajemen AD FS.
  2. Di Manajemen AD FS, klik kanan pada Grup Aplikasi dan pilih Tambahkan Grup Aplikasi.
  3. Pada layar Selamat Datang Wizard Grup Aplikasi:
    1. Masukkan Nama aplikasi Anda. Misalnya, Aplikasi Azure AD B2C.
    2. Pada Aplikasi Server-Klien, pilih templat Browser web mengakses aplikasi web.
    3. Pilih Selanjutnya.
  4. Pada layar Aplikasi Asli Wizard Grup Aplikasi Aplikasi:
    1. Salin nilai Pengidentifikasi Klien. Pengidentifikasi klien adalahID Aplikasi AD FS Anda. Anda akan memerlukan ID aplikasi nanti di artikel ini.
    2. Di URI Pengalihan, masukkan https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp, laluTambahkan. Jika Anda menggunakan domain kustom, masukkan https://your-domain-name/your-tenant-name.onmicrosoft.com/oauth2/authresp. Ganti your-tenant-name dengan nama penyewa Anda, dan your-domain-name dengan domain kustom Anda.
    3. Pilih Berikutnya, dan kemudian Berikutnya, lalu Berikutnya lagi untuk menyelesaikan wizard pendaftaran aplikasi.
    4. Pilih Tutup.

Mengonfigurasi klaim aplikasi

Pada langkah ini, konfigurasikan klaim aplikasi AD FS kembali ke Azure AD B2C.

  1. Di Grup Aplikasi, pilih aplikasi yang Anda buat.

  2. Di Jendela properti aplikasi, pada Aplikasi, pilih Aplikasi Web. Kemudian pilih Edit. Screenshot that shows how to edit a web application.

  3. Pilih tab Aturan Transformasi Penerbitan. Lalu pilih Tambahkan Aturan.

  4. Di Templat aturan klaim, pilih Kirim Atribut LDAP sebagai Klaim, dan kemudian Berikutnya.

  5. Berikan Nama aturan klaim. Untuk Penyimpanan atribut, pilih Active Directory Domain Services, tambahkan klaim berikut.

    Atribut LDAP Jenis klaim keluar
    Nama Principal Pengguna upn
    Nama Belakang family_name
    Nama Depan given_name
    Nama Tampilan nama

    Perhatikan bahwa nama-nama ini tidak akan ditampilkan dalam menu menurun jenis klaim keluar. Anda perlu mengetikkannya secara manual (drop-down dapat diedit).

  6. Pilih Selesai.

  7. Pilih Terapkan, lalu pilih OK.

  8. Pilih OK lagi untuk menyelesaikannya.

Mengonfigurasi AD FS sebagai penyedia identitas

  1. Masuk ke portal Microsoft Azure sebagai administrator global penyewa Azure AD B2C Anda.

  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, Contoso.

  6. Untuk Url metadata, masukkan URL dari Dokumen Konfigurasi AD FS OpenID Connect. Contohnya:

    https://adfs.contoso.com/adfs/.well-known/openid-configuration 
    
  7. Untuk ID Klien, masukkan ID aplikasi yang sebelumnya Anda rekam.

  8. Untuk Cakupan, masukkan openid.

  9. Untuk Tipe respons, pilih id_token. Jadi, nilai Rahasia klien tidak diperlukan. Pelajari lebih lanjut tentang penggunaan ID Klien dan rahasia saat menambahkan penyedia identitas OpenID Connect generik.

  10. (Opsional) Untuk Petunjuk domain, masukkan contoso.com. Untuk informasi selengkapnya, lihat Menyiapkan masuk langsung menggunakan Azure Active Directory B2C.

  11. Di Pemetaan klaim IdP, pilih klaim berikut:

    • ID Pengguna: upn
    • Nama tampilan: unique_name
    • Nama depan: given_name
    • Nama belakang: family_name
  12. Pilih Simpan.

Tambahkan penyedia identitas AD FS ke alur pengguna

Pada titik ini, penyedia identitas AD FS (Contoso) telah disiapkan, tetapi belum tersedia di salah satu halaman masuk. Untuk menambahkan penyedia identitas AD FS ke alur pengguna:

  1. Di penyewa AAD B2C Anda, pilih Alur pengguna.
  2. Pilih alur pengguna yang ingin Anda tambahkan ke penyedia identitas AD FS (Contoso).
  3. Di bawah Penyedia identitas sosial, pilih Contoso.
  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. Darei halaman daftar atau masuk, pilih Contoso untuk masuk dengan akun Contoso.

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

Mengonfigurasi AD FS sebagai penyedia identitas

Untuk memungkinkan pengguna masuk menggunakan akun AD FS, Anda perlu menentukan AD FS sebagai penyedia klaim yang dapat berkomunikasi dengan Azure AD B2C melalui titik akhir.

  1. Buka TrustFrameworkExtensions.xml.

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

  3. Tambahkan ClaimsProvider baru sebagai berikut:

    <ClaimsProvider>
      <Domain>contoso.com</Domain>
      <DisplayName>Contoso</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="Contoso-OpenIdConnect">
          <DisplayName>Contoso</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="METADATA">https://your-adfs-domain/adfs/.well-known/openid-configuration</Item>
            <Item Key="response_types">id_token</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="scope">openid</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">0</Item>
            <!-- Update the Client ID below to the Application ID -->
            <Item Key="client_id">Your AD FS application ID</Item>
          </Metadata>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="upn" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surname" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="displayName" PartnerClaimType="unique_name" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss"  />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Untuk Url Metadata, masukkan URL dari Dokumen Konfigurasi AD FS OpenID Connect. Contohnya:

    https://adfs.contoso.com/adfs/.well-known/openid-configuration 
    
  5. Atur client_id ke id aplikasi dari pendaftaran aplikasi.

  6. Simpan file.

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

<OrchestrationStep Order="2" Type="ClaimsExchange">
  ...
  <ClaimsExchanges>
    <ClaimsExchange Id="ContosoExchange" TechnicalProfileReferenceId="Contoso-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 Contoso untuk masuk dengan akun Contoso.

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 AD FS ke aplikasi Anda.