Siapkan pendaftaran dan masuk dengan akun SwissID menggunakan 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.

Dalam artikel ini, Anda mempelajari cara menyediakan pendaftaran dan proses masuk ke pelanggan dengan akun SwissID di aplikasi menggunakan Azure Active Directory B2C (Azure AD B2C). Anda menambahkan SwissID ke alur pengguna atau kebijakan kustom menggunakan protokol OpenID Connect. Untuk informasi selengkapnya, lihat Panduan Integrasi SwissID – OpenID Connect.

Prasyarat

Membuat aplikasi SwissID

Untuk mengaktifkan proses masuk bagi pengguna dengan akun SwissID di Azure Active Directory B2C, Anda perlu membuat aplikasi. Untuk membuat aplikasi SwissID, ikuti langkah-langkah berikut:

  1. Hubungi dukungan Mitra Bisnis SwissID.

  2. Setelah mendaftar dengan SwissID, berikan informasi tentang penyewa Azure Active Directory B2C Anda:

    Tombol Catatan
    URI Pengalihan Berikan URI https://your-tenant-name.b2clogin.com/your-tenant-name.onmicrosoft.com/oauth2/authresp. 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.
    Metode autentikasi titik akhir token client_secret_post
  3. Setelah aplikasi terdaftar, informasi berikut akan diberikan oleh SwissID. Gunakan informasi ini untuk mengonfigurasi alur pengguna Anda, atau kebijakan kustom.

    Tombol Catatan
    Lingkungan Titik akhir konfigurasi terkenal SwissID OpenId. Contohnya, https://login.sandbox.pre.swissid.ch/idp/oauth2/.well-known/openid-configuration.
    ID klien ID klien SwissID. Contohnya, 11111111-2222-3333-4444-555555555555.
    Kata sandi Rahasia klien SwissID.

Mengonfigurasi SwissID sebagai IdP

  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. Pilih Penyedia identitas, lalu pilih Penyedia OpenID Connect baru.

  4. Masukkan nama . Misalnya, masukkan SwissID.

  5. Untuk url Metadata, masukkan URL titik akhir konfigurasi terkenal SwissID OpenId. Contohnya:

    https://login.sandbox.pre.swissid.ch/idp/oauth2/.well-known/openid-configuration
    
  6. Untuk ID klien, masukkan ID Klien SwissID.

  7. Untuk Rahasia klien, masukkan rahasia klien SwissID.

  8. Untuk Cakupan, masukkan openid profile email.

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

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

  11. Di Pemetaan klaim IdP, pilih klaim berikut:

    • ID Pengguna: sub
    • Nama pemberian: nama_pemberian
    • Nama belakang: nama_keluarga
    • Email: email
  12. Pilih Simpan.

Menambahkan IdP SwissID ke alur pengguna

Pada titik ini, IdP SwissID telah disiapkan, tetapi belum tersedia di halaman masuk mana pun. Untuk menambahkan IdP SwissID ke alur pengguna:

  1. Di penyewa AAD B2C Anda, pilih Alur pengguna.
  2. Klik alur pengguna yang ingin Anda tambahkan dengan IdP SwissID.
  3. Di bawah IdP sosial, pilih SwissID.
  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 SwissID untuk masuk dengan akun SwissID.

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 rahasia klien yang Anda terima dari SwissID di penyewa Azure Active Directory B2C.

  1. Masuk ke portal Azure.
  2. Pastikan Anda menggunakan direktori yang berisi penyewa AAD B2C Anda. Pilih filter Direktori + langganan di menu atas dan pilih direktori yang berisi penyewa Anda.
  3. Pilih Semua layanan di pojok kiri atas portal Microsoft Azure, lalu cari dan pilih AAD B2C.
  4. Pada halaman Gambaran Umum, pilih Kerangka Kerja Pengalaman Identitas.
  5. Pilih Tombol Kebijakan, lalu pilih Tambahkan.
  6. Untuk Opsi, pilih Manual.
  7. Masukkan Nama untuk kunci kebijakan. Contohnya, SwissIDSecret. Awalan B2C_1A_ ditambahkan secara otomatis ke nama kunci Anda.
  8. Di Rahasia, masukkan rahasia klien SwissID Anda.
  9. Untuk Penggunaan kunci, pilih Signature.
  10. Klik Buat.

Mengonfigurasi SwissID sebagai IdP

Untuk memungkinkan pengguna masuk menggunakan akun SwissID, Anda perlu menetapkan akun sebagai penyedia klaim yang dapat berkomunikasi dengan Azure Active Directory 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 akun SwissID sebagai penyedia klaim dengan menambahkannya ke elemen ClaimsProviders di file ekstensi kebijakan.

  1. Buka TrustFrameworkExtensions.xml.

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

  3. Tambahkan ClaimsProvider baru sebagai berikut:

    <ClaimsProvider>
      <Domain>SwissID.com</Domain>
      <DisplayName>SwissID</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="SwissID-OpenIdConnect">
          <DisplayName>SwissID</DisplayName>
          <Protocol Name="OpenIdConnect" />
          <Metadata>
            <Item Key="METADATA">https://login.sandbox.pre.swissid.ch/idp/oauth2/.well-known/openid-configuration</Item>
            <Item Key="client_id">Your Swiss client ID</Item>
            <Item Key="response_types">code</Item>
            <Item Key="scope">openid profile email</Item>
            <Item Key="response_mode">form_post</Item>
            <Item Key="HttpBinding">POST</Item>
            <Item Key="UsePolicyInRedirectUri">false</Item>
          </Metadata>
          <CryptographicKeys>
            <Key Id="client_secret" StorageReferenceId="B2C_1A_SwissIDSecret" />
          </CryptographicKeys>
          <OutputClaims>
            <OutputClaim ClaimTypeReferenceId="issuerUserId" PartnerClaimType="sub" />
            <OutputClaim ClaimTypeReferenceId="identityProvider" PartnerClaimType="iss" />
            <OutputClaim ClaimTypeReferenceId="authenticationSource" DefaultValue="socialIdpAuthentication" AlwaysUseDefaultValue="true" />
            <OutputClaim ClaimTypeReferenceId="givenName" PartnerClaimType="given_name" />
            <OutputClaim ClaimTypeReferenceId="surName" PartnerClaimType="family_name" />
            <OutputClaim ClaimTypeReferenceId="email" />
          </OutputClaims>
          <OutputClaimsTransformations>
            <OutputClaimsTransformation ReferenceId="CreateRandomUPNUserName" />
            <OutputClaimsTransformation ReferenceId="CreateUserPrincipalName" />
            <OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId" />
            <OutputClaimsTransformation ReferenceId="CreateSubjectClaimFromAlternativeSecurityId" />
            <OutputClaimsTransformation ReferenceId="CreateDisplayName" />
          </OutputClaimsTransformations>
          <UseTechnicalProfileForSessionManagement ReferenceId="SM-SocialLogin" />
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  4. Atur client_id ke ID klien SwissID.

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

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

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

Pindah ke produksi

IdP SwissID menyediakan lingkungan Pra-produksi dan Produksi. Konfigurasi yang dijelaskan dalam artikel ini menggunakan lingkungan pra-produksi. Untuk menggunakan lingkungan produksi, ikuti langkah-langkah berikut:

  1. Hubungi dukungan SwissId untuk lingkungan produksi.
  2. Perbarui alur pengguna atau kebijakan kustom Anda dengan URI titik akhir konfigurasi yang terkenal.

Langkah berikutnya

Pelajari cara meneruskan token SwissID ke aplikasi Anda.