Bagikan melalui


Mengonfigurasi perilaku sesi 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.

Single sign-on(SSO) menambah keamanan dan kenyamanan saat pengguna masuk di seluruh aplikasi di Azure Active Directory B2C (Azure AD B2C). Artikel ini menjelaskan metode single sign-on yang digunakan di Azure AD B2C dan membantu Anda memilih metode SSO yang paling tepat saat mengonfigurasi kebijakan Anda.

Dengan single sign-on, pengguna masuk sekali dengan satu akun dan mendapatkan akses ke beberapa aplikasi. Aplikasi ini dapat menjadi aplikasi web, seluler, atau halaman tunggal, terlepas dari platform atau nama domain.

Ketika pengguna pertama kali masuk ke aplikasi, Azure Active Directory B2C mempertahankan sesi berbasis cookie. Setelah permintaan autentikasi berikutnya, Azure AD B2C membaca dan memvalidasi sesi berbasis cookie, dan mengeluarkan token akses tanpa meminta pengguna untuk masuk lagi. Jika sesi berbasis kuki kedaluwarsa atau menjadi tidak valid, pengguna akan diminta untuk masuk kembali.

Prasyarat

Gambaran umum sesi Azure AD B2C

Integrasi dengan Azure AD B2C melibatkan tiga jenis sesi SSO:

  • Azure AD B2C - Sesi yang dikelola oleh Azure AD B2C
  • IdP gabungan - Sesi yang dikelola oleh penyedia identitas, misalnya akun Facebook, Salesforce, atau Microsoft
  • Aplikasi - Sesi yang dikelola oleh aplikasi web, seluler, atau satu halaman

SSO session

Sesi Azure AD B2C

Saat pengguna berhasil mengautentikasi dengan akun lokal atau sosial, Azure AD B2C menyimpan sesi berbasis cookie di browser pengguna. Cookie disimpan di bawah nama domain penyewa Azure AD B2C, seperti https://contoso.b2clogin.com.

Saat pengguna masuk dengan akun federasi, jendela waktu sesi, juga dikenal sebagai time-to-live (TTL), dimulai. Jika pengguna masuk ke aplikasi yang sama atau berbeda dalam TTL ini, Azure AD B2C mencoba memperoleh token akses baru dari penyedia identitas federasi. Jika sesi penyedia identitas gabungan kedaluwarsa atau tidak valid, IdP gabungan meminta kredensial mereka kepada pengguna. Jika sesi pengguna sedang berlangsung, atau jika pengguna masuk menggunakan akun lokal alih-alih yang terfederasi, Azure AD B2C mengotorisasi pengguna dan mencegah permintaan lebih lanjut.

Anda dapat mengonfigurasi perilaku sesi, termasuk sesi TTL dan bagaimana Azure AD B2C berbagi sesi di seluruh kebijakan dan aplikasi.

Sesi IdP gabungan

IdP sosial atau perusahaan mengelola sesinya sendiri. Cookie disimpan di bawah nama domain IdP, seperti https://login.salesforce.com. Azure AD B2C tidak mengontrol sesi IdP gabungan. Sebaliknya, perilaku sesi ditentukan oleh IdP gabungan.

Pertimbangkan skenario berikut:

  1. Pengguna masuk ke Facebook untuk memeriksa umpan mereka.
  2. Kemudian, pengguna membuka aplikasi Anda dan memulai proses masuk. Aplikasi mengalihkan pengguna ke Azure AD B2C untuk menyelesaikan proses masuk.
  3. Di halaman pendaftaran atau masuk Azure AD B2C, pengguna memilih untuk masuk dengan akun Facebook mereka. Pengguna dialihkan ke Facebook. Jika ada sesi aktif di Facebook, pengguna tidak diminta untuk memberikan kredensial mereka dan segera dialihkan ke Azure AD B2C dengan token Facebook.

Sesi aplikasi

Token akses OAuth2, token ID, atau token SAML dapat melindungi aplikasi web, seluler, atau satu halaman. Saat pengguna mencoba mengakses sumber daya yang dilindungi di aplikasi, aplikasi memeriksa apakah ada sesi aktif di sisi aplikasi. Jika sesi aplikasi tidak ada atau sesi kedaluwarsa, aplikasi mengarahkan pengguna ke halaman masuk Azure AD B2C.

Sesi aplikasi dapat menjadi sesi berbasis cookie yang disimpan di bawah nama domain aplikasi, seperti https://contoso.com. Aplikasi seluler mungkin menyimpan sesi dengan cara yang berbeda tetapi menggunakan pendekatan yang sama.

Mengonfigurasi perilaku sesi Azure AD B2C

Anda dapat mengonfigurasi perilaku sesi Azure AD B2C, termasuk:

  • Masa pakai sesi aplikasi web (menit) - Jumlah waktu cookie sesi Azure AD B2C disimpan di browser pengguna setelah autentikasi berhasil. Anda dapat mengatur masa pakai sesi hingga 24 jam.

  • Batas waktu sesi aplikasi web - Menunjukkan bagaimana sesi diperpanjang oleh pengaturan masa pakai sesi atau pengaturan Biarkan saya tetap masuk (KMSI).

    • Bergulir - Menunjukkan bahwa sesi diperpanjang setiap kali pengguna melakukan autentikasi berbasis cookie (default).
    • Absolut - Menunjukkan bahwa pengguna dipaksa untuk mengautentikasi ulang setelah periode waktu yang ditentukan.
  • Konfigurasi single sign-on - Sesi Azure AD B2C dapat dikonfigurasi dengan cakupan berikut:

    • Penyewa - Pengaturan ini adalah default. Menggunakan pengaturan ini memungkinkan beberapa aplikasi dan alur pengguna di penyewa B2C Anda untuk berbagi sesi pengguna yang sama. Misalnya, setelah pengguna masuk ke aplikasi, pengguna juga dapat dengan mulus masuk ke yang lain setelah mengaksesnya.
    • Aplikasi - Pengaturan ini memungkinkan Anda untuk mempertahankan sesi pengguna secara eksklusif untuk aplikasi, independen dari aplikasi lain. Misalnya, Anda dapat menggunakan pengaturan ini jika Anda ingin pengguna masuk ke Contoso Pharmacy terlepas dari apakah pengguna sudah masuk ke Contoso Groceries.
    • Kebijakan - Pengaturan ini memungkinkan Anda untuk mempertahankan sesi pengguna secara eksklusif untuk alur pengguna, independen dari aplikasi yang menggunakannya. Misalnya, Azure AD B2C memberikan akses pengguna ke bagian keamanan yang lebih tinggi dari beberapa aplikasi jika pengguna telah masuk dan menyelesaikan langkah autentikasi multifaktor (MFA). Akses ini berlanjut selama sesi yang terkait dengan alur pengguna tetap aktif.
    • Ditekan - Pengaturan ini memaksa pengguna untuk menjalankan seluruh alur pengguna pada setiap eksekusi kebijakan.

Mengonfigurasi alur pengguna

Untuk mengonfigurasi perilaku sesi dalam alur pengguna Anda, ikuti langkah-langkah berikut:

  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 Alur pengguna.
  5. Buka alur pengguna yang Anda buat sebelumnya.
  6. Pilih Properti.
  7. Konfigurasikan Masa pakai sesi aplikasi web (menit), Batas waktu sesi aplikasi web, Konfigurasi sistem single sign-on, dan Memerlukan Token ID dalam permintaan keluar sesuai kebutuhan.
  8. Klik Simpan.

Konfigurasikan kebijakan kustom

Untuk mengonfigurasi perilaku sesi dalam kebijakan kustom Anda, ikuti langkah-langkah berikut:

  1. Buka file pihak yang mengandalkan (RP), misalnya SignUpOrSignin.xml

  2. Jika belum ada, tambahkan elemen <UserJourneyBehaviors> berikut ke elemen <RelyingParty>. File tersebut akan ditemukan segera setelah <DefaultUserJourney ReferenceId="UserJourney Id"/>.

    <UserJourneyBehaviors>
      <SingleSignOn Scope="Application" />
      <SessionExpiryType>Absolute</SessionExpiryType>
      <SessionExpiryInSeconds>86400</SessionExpiryInSeconds>
    </UserJourneyBehaviors>
    

    Setelah Anda menambahkan elemen perilaku perjalanan, elemen RelyingParty akan terlihat seperti contoh berikut:

    <RelyingParty>
      <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
      <UserJourneyBehaviors>
        <SingleSignOn Scope="Application" />
        <SessionExpiryType>Absolute</SessionExpiryType>
        <SessionExpiryInSeconds>86400</SessionExpiryInSeconds>
      </UserJourneyBehaviors>
      <TechnicalProfile Id="PolicyProfile">
        <DisplayName>PolicyProfile</DisplayName>
        <Protocol Name="OpenIdConnect" />
        <OutputClaims>
          <OutputClaim ClaimTypeReferenceId="displayName" />
          <OutputClaim ClaimTypeReferenceId="givenName" />
          ...
        </OutputClaims>
        <SubjectNamingInfo ClaimType="sub" />
      </TechnicalProfile>
    </RelyingParty>
    
  3. Ubah nilai atribut Scope ke salah satu nilai yang mungkin: Suppressed, Tenant, Application, atau Policy. Untuk informasi selengkapnya, lihat artikel referensi RelyingParty.

  4. Atur elemen SessionExpiryType ke Rolling atau Absolute. Untuk informasi selengkapnya, lihat artikel referensi RelyingParty.

  5. Atur elemen SessionExpiryInSeconds ke nilai numerik antara 900 detik (15 menit) dan 86.400 detik (24 jam). Untuk informasi selengkapnya, lihat artikel referensi RelyingParty.

Biarkan saya tetap masuk (KMSI)

Anda dapat mengaktifkan fitur KMSI untuk pengguna aplikasi web dan native yang memiliki akun lokal di direktori Azure AD B2C Anda. Saat Anda mengaktifkan fitur ini, pengguna dapat memilih untuk tetap masuk sehingga sesi tetap aktif setelah mereka menutup browser. Sesinya dipertahankan dengan mengatur cookie persisten. Pengguna, yang memilih KMSI, dapat membuka kembali browser tanpa diminta untuk memasukkan kembali nama pengguna dan kata sandi mereka. Akses ini (cookie persisten) dicabut saat pengguna keluar. Untuk informasi selengkapnya, lihat Demo langsung.

Example sign-up sign-in page showing a Keep me signed in checkbox

KMSI dapat dikonfigurasi pada tingkat alur pengguna individu. Sebelum mengaktifkan KMSI untuk alur pengguna Anda, pertimbangkan hal berikut:

  • KMSI hanya didukung untuk versi yang Disarankan dari alur pengguna pendaftaran dan masuk (SUSI), masuk, dan pengeditan profil. Jika saat ini Anda memiliki pratinjau Standar (Warisan) atau Warisan - versi v2 dari alur pengguna ini dan ingin mengaktifkan KMSI, Anda perlu membuat versi baru yang Direkomendasikan dari alur pengguna ini.
  • KMSI tidak didukung dengan pengaturan ulang kata sandi atau alur pengguna pendaftaran.
  • Jika Anda ingin mengaktifkan KMSI untuk semua aplikasi di penyewa Anda, kami sarankan Anda mengaktifkan KMSI untuk semua alur pengguna di penyewa Anda. Karena pengguna dapat diberikan beberapa kebijakan selama satu sesi, mereka mungkin menemukan salah satu kebijakan yang tidak mengaktifkan KMSI, yang akan menghapus cookie KMSI dari sesi tersebut.
  • KMSI tidak boleh diaktifkan pada komputer publik.

Mengonfigurasi KMSI untuk alur pengguna

Untuk mengaktifkan KMSI untuk alur pengguna Anda:

  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 Alur pengguna (kebijakan).

  5. Buka alur pengguna yang Anda buat sebelumnya.

  6. Pilih Properti.

  7. Di bagian Perilaku sesi, pilih Aktifkan agar saya tetap masuk sesi. Di samping Sesi biarkan saya tetap masuk (hari), masukkan nilai dari 1 hingga 90 untuk menentukan jumlah hari sesi dapat tetap terbuka.

    Enable keep me signed in session

Pengguna tidak boleh mengaktifkan opsi ini di komputer publik.

Mengonfigurasi pengidentifikasi halaman

Untuk mengaktifkan KMSI, atur elemen DataUri definisi konten ke pengidentifikasi halamanunifiedssp dan versi halaman1.1.0 atau yang lebih tinggi.

  1. Buka file ekstensi kebijakan Anda. Contohnya, SocialAndLocalAccounts/TrustFrameworkExtensions.xml. File ekstensi ini adalah salah satu file kebijakan yang disertakan dalam paket pemula kebijakan kustom, yang Anda peroleh dalam prasyarat, Mulai menggunakan kebijakan kustom.

  2. Cari elemen BuildingBlocks. Jika elemen tersebut tidak ada, tambahkan.

  3. Tambahkan elemen ContentDefinitions ke elemen BuildingBlocks dari kebijakan.

    Kebijakan kustom Anda akan terlihat seperti cuplikan kode berikut:

    <BuildingBlocks>
      <ContentDefinitions>
        <ContentDefinition Id="api.signuporsignin">
          <DataUri>urn:com:microsoft:aad:b2c:elements:unifiedssp:1.1.0</DataUri>
        </ContentDefinition>
      </ContentDefinitions>
    </BuildingBlocks>
    

Menambahkan metadata ke profil teknis yang ditegaskan sendiri

Untuk menambahkan kotak centang KMSI ke halaman daftar dan masuk, setel metadata setting.enableRememberMe ke true. Mengambil alih profil teknis SelfAsserted-LocalAccountSignin-Email dalam file ekstensi.

  1. Temukan elemen ClaimsProviders. Jika elemen tersebut tidak ada, tambahkan.

  2. Tambahkan penyedia klaim berikut ke elemen ClaimsProviders:

    <ClaimsProvider>
      <DisplayName>Local Account</DisplayName>
      <TechnicalProfiles>
        <TechnicalProfile Id="SelfAsserted-LocalAccountSignin-Email">
          <Metadata>
            <Item Key="setting.enableRememberMe">True</Item>
          </Metadata>
        </TechnicalProfile>
      </TechnicalProfiles>
    </ClaimsProvider>
    
  3. Simpan file ekstensi.

Mengonfigurasi file pihak yang mengandalkan

Perbarui file mengandalkan pihak (RP) yang memulai perjalanan pengguna yang Anda buat. Parameter keepAliveInDays memungkinkan Anda untuk mengonfigurasi berapa lama cookie sesi tetap masuk (KMSI) harus bertahan. Misalnya, jika Anda menetapkan nilai ke 30, maka cookie sesi KMSI bertahan selama 30 hari. Rentang untuk nilai adalah dari 1 hingga 90 hari. Mengatur nilai ke 0 akan menonaktifkan fungsionalitas KMSI.

  1. Buka file kebijakan kustom Anda. Misalnya, SignUpOrSignin.xml.

  2. Jika belum ada, tambahkan <UserJourneyBehaviors> simpul anak ke <RelyingParty> simpul. Itu harus ditemukan segera setelah <DefaultUserJourney ReferenceId="User journey Id" />, misalnya: <DefaultUserJourney ReferenceId="SignUpOrSignIn" />.

  3. Tambahkan simpul berikut sebagai anak dari elemen <UserJourneyBehaviors>.

    <UserJourneyBehaviors>
      <SingleSignOn Scope="Tenant" KeepAliveInDays="30" />
      <SessionExpiryType>Absolute</SessionExpiryType>
      <SessionExpiryInSeconds>1200</SessionExpiryInSeconds>
    </UserJourneyBehaviors>
    

Anda mengatur KeepAliveInDays dan SessionExpiryInSeconds sehingga selama proses masuk, jika pengguna mengaktifkan KMSI, KeepAliveInDays digunakan untuk mengatur cookie, jika tidak, nilai yang ditentukan dalam parameter SessionExpiryInSeconds akan digunakan. Kami menyarankan Anda menyetel nilai SessionExpiryInSeconds menjadi periode singkat (1200 detik), sedangkan nilai KeepAliveInDays dapat disetel ke jangka waktu yang relatif lama (30 hari), seperti yang diperlihatkan dalam contoh berikut:

<RelyingParty>
  <DefaultUserJourney ReferenceId="SignUpOrSignIn" />
  <UserJourneyBehaviors>
    <SingleSignOn Scope="Tenant" KeepAliveInDays="30" />
    <SessionExpiryType>Absolute</SessionExpiryType>
    <SessionExpiryInSeconds>1200</SessionExpiryInSeconds>
  </UserJourneyBehaviors>
  <TechnicalProfile Id="PolicyProfile">
    <DisplayName>PolicyProfile</DisplayName>
    <Protocol Name="OpenIdConnect" />
    <OutputClaims>
      <OutputClaim ClaimTypeReferenceId="displayName" />
      <OutputClaim ClaimTypeReferenceId="givenName" />
      <OutputClaim ClaimTypeReferenceId="surname" />
      <OutputClaim ClaimTypeReferenceId="email" />
      <OutputClaim ClaimTypeReferenceId="objectId" PartnerClaimType="sub"/>
      <OutputClaim ClaimTypeReferenceId="identityProvider" />
      <OutputClaim ClaimTypeReferenceId="tenantId" AlwaysUseDefaultValue="true" DefaultValue="{Policy:TenantObjectId}" />
    </OutputClaims>
    <SubjectNamingInfo ClaimType="sub" />
  </TechnicalProfile>
</RelyingParty>

Keluar

Ketika Anda ingin mengeluarkan pengguna keluar dari aplikasi, itu tidak cukup untuk menghapus cookie aplikasi atau mengakhiri sesi dengan pengguna. Anda harus mengalihkan pengguna ke Azure AD B2C untuk keluar. Jika tidak, pengguna mungkin dapat mengautentikasi ulang ke aplikasi Anda tanpa memasukkan kredensial mereka lagi.

Berdasarkan permintaan keluar, Azure AD B2C:

  1. Membatalkan sesi berbasis cookie Azure AD B2C.
  2. Upaya untuk keluar dari IdP gabungan.
  1. Membatalkan sesi berbasis cookie Azure AD B2C.
  2. Upaya untuk keluar dari penyedia identitas federasi:
    • OpenId Connect - Jika titik akhir konfigurasi terkenal IdP menentukan lokasi end_session_endpoint. Permintaan keluar tidak melewati parameter id_token_hint. Jika penyedia identitas federasi memerlukan parameter ini, permintaan keluar gagal.
    • OAuth2 - Jika metadata IdP berisi lokasi end_session_endpoint.
    • SAML - Jika metadata IdP berisi lokasi SingleLogoutService.
  3. Secara opsional, keluar dari aplikasi lain. Untuk informasi selengkapnya, lihat bagian Single sign-out.

Catatan

Anda dapat menonaktifkan keluar dari penyedia identitas gabungan, dengan menyetel metadata profil teknis IdP SingleLogoutEnabled ke false.

Keluar menghapus status single sign-on pengguna dengan Azure AD B2C, tetapi mungkin tidak menandatangani pengguna keluar dari sesi IdP sosial mereka. Jika pengguna memilih IdP yang sama selama proses masuk berikutnya, mereka mungkin mengautentikasi ulang tanpa memasukkan kredensial mereka. Jika pengguna ingin keluar dari aplikasi, itu tidak berarti mereka ingin keluar dari akun Facebook mereka. Namun, jika akun lokal digunakan, sesi pengguna berakhir dengan benar.

Single sign-out

Saat Anda mengalihkan pengguna ke titik akhir keluar Azure AD B2C (untuk OAuth2 atau pun OpenID Connect) atau mengirim LogoutRequest (untuk SAML), maka Azure AD B2C menghapus sesi pengguna dari browser. Namun, pengguna mungkin masih masuk ke aplikasi lain yang menggunakan Azure AD B2C untuk autentikasi. Untuk mengeluarkan pengguna dari semua aplikasi, yang memiliki sesi aktif, Azure AD B2C mendukung akses menyeluruh, juga dikenal sebagai Single Log-Out (SLO).

Selama proses keluar, Azure AD B2C secara bersamaan mengirimkan permintaan HTTP ke URL logout terdaftar dari semua aplikasi yang tengah dimasuki oleh pengguna.

Mengonfigurasi kebijakan kustom Anda

Untuk mendukung single sign-out, profil teknis pengeluar token untuk JWT dan SAML harus menentukan:

  • Nama protokol, seperti <Protocol Name="OpenIdConnect" />
  • Referensi ke profil teknis sesi, seperti UseTechnicalProfileForSessionManagement ReferenceId="SM-jwt-issuer" />.

Contoh berikut mengilustrasikan pengeluar token JWT dan SAML dengan single sign-out:

<ClaimsProvider>
  <DisplayName>Local Account SignIn</DisplayName>
  <TechnicalProfiles>
    <!-- JWT Token Issuer -->
    <TechnicalProfile Id="JwtIssuer">
      <DisplayName>JWT token Issuer</DisplayName>
      <Protocol Name="OpenIdConnect" />
      <OutputTokenFormat>JWT</OutputTokenFormat>
      ...    
      <UseTechnicalProfileForSessionManagement ReferenceId="SM-jwt-issuer" />
    </TechnicalProfile>

    <!-- Session management technical profile for OIDC based tokens -->
    <TechnicalProfile Id="SM-jwt-issuer">
      <DisplayName>Session Management Provider</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.OAuthSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    </TechnicalProfile>

    <!--SAML token issuer-->
    <TechnicalProfile Id="Saml2AssertionIssuer">
      <DisplayName>SAML token issuer</DisplayName>
      <Protocol Name="SAML2" />
      <OutputTokenFormat>SAML2</OutputTokenFormat>
      ...
      <UseTechnicalProfileForSessionManagement ReferenceId="SM-Saml-issuer" />
    </TechnicalProfile>

    <!-- Session management technical profile for SAML based tokens -->
    <TechnicalProfile Id="SM-Saml-issuer">
      <DisplayName>Session Management Provider</DisplayName>
      <Protocol Name="Proprietary" Handler="Web.TPEngine.SSO.SamlSSOSessionProvider, Web.TPEngine, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null" />
    </TechnicalProfile>
  </TechnicalProfiles>
</ClaimsProvider>

Mengonfigurasi aplikasi Anda

Agar aplikasi dapat ikut serta dalam akses keluar tunggal:

  • Untuk penyedia layanan SAML,konfigurasikan aplikasi dengan lokasi SingleLogoutService dalam dokumen metadata SAML-nya. Anda juga dapat mengonfigurasi pendaftaran aplikasi logoutUrl. Untuk informasi selengkapnya, lihat mengatur URL logout.
  • Untuk aplikasi OpenID Koneksi atau OAuth2, atur atribut logoutUrldari manifes pendaftaran aplikasi Anda. Untuk mengonfigurasi URL keluar:
    1. Pada menu Microsoft Azure AD B2C, pilih Pendaftaran aplikasi.
    2. Pilih pendaftaran aplikasi Anda.
    3. Di bagian Kelola, pilih Autentikasi.
    4. Di bawah URL logout Front-channel,, konfigurasikan URL logout Anda.

Menangani permintaan akses keluar tunggal

Ketika Azure AD B2C menerima permintaan logout, ia menggunakan iframe HTML front-channel untuk mengirim permintaan HTTP ke URL logout terdaftar dari setiap aplikasi yang berpartisipasi yang sedang dimasuki pengguna. Perhatikan, aplikasi yang memicu permintaan keluar mendapatkan pesan keluar ini. Aplikasi Anda harus menanggapi permintaan keluar dengan membersihkan sesi aplikasi yang mengidentifikasi pengguna.

  • Untuk aplikasi OpenID Koneksi dan OAuth2, Azure AD B2C mengirimkan permintaan HTTP GET ke URL logout terdaftar.
  • Untuk aplikasi SAML, Azure AD B2C mengirimkan permintaan logout SAML ke URL logout terdaftar.

Ketika Azure AD B2C memberi tahu semua aplikasi tentang keluar, Azure AD B2C melanjutkan untuk melakukan salah satu hal berikut:

  • Untuk aplikasi OpenID Koneksi atau OAuth2, aplikasi tersebut mengalihkan pengguna ke yang diminta post_logout_redirect_uri termasuk parameter (opsional) state yang ditentukan dalam permintaan awal. Contoh: https://contoso.com/logout?state=foo.
  • Untuk aplikasi SAML, aplikasi mengirimkan respons keluar SAML melalui HTTP POST ke aplikasi yang awalnya mengirim permintaan keluar.

Mengamankan pengalihan keluar Anda

Setelah keluar, pengguna dialihkan ke URI yang ditentukan dalam post_logout_redirect_uri parameter, terlepas dari URL balasan yang Anda tentukan untuk aplikasi. Namun, jika valid id_token_hint dilewatkan, dan Memerlukan Token Id dalam permintaan keluar diaktifkan, Azure AD B2C memverifikasi bahwa nilai post_logout_redirect_uri sesuai dengan salah satu URI pengalihan yang dikonfigurasi aplikasi sebelum melakukan pengalihan. Jika tidak ada URL balasan yang cocok yang dikonfigurasi untuk aplikasi, pesan kesalahan ditampilkan dan pengguna tidak dialihkan.

Untuk memerlukan Token ID dalam permintaan keluar:

  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 Alur pengguna.
  5. Buka alur pengguna yang Anda buat sebelumnya.
  6. Pilih Properti.
  7. Aktifkan Membutuhkan Token ID dalam permintaan keluar.

Untuk memerlukan Token ID dalam permintaan keluar, tambahkan elemen UserJourneyBehaviors di dalam elemen RelyingParty. Kemudian setel EnforceIdTokenHintOnLogout dari elemen SingleSignOn ke true. Untuk informasi selengkapnya, periksa Demo langsung. Elemen UserJourneyBehaviors Anda akan terlihat seperti contoh ini:

<UserJourneyBehaviors>
  <SingleSignOn Scope="Tenant" EnforceIdTokenHintOnLogout="true"/>
</UserJourneyBehaviors>

Untuk mengonfigurasi URL Keluar aplikasi Anda:

  1. Pilih Pendaftaran aplikasi, lalu pilih aplikasi Anda.
  2. Pilih Autentikasi.
  3. Di kotak teks URL Keluar, masukkan URI pengalihan setelah keluar Anda, lalu pilih Simpan.

Langkah berikutnya