Mengonfigurasi perilaku sesi di Azure Active Directory B2C

Sebelum memulai, gunakan pemilih Pilih jenis kebijakan di bagian atas halaman ini 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.

Sign-on tunggal (SSO) menambahkan keamanan dan kenyamanan saat pengguna masuk di antara aplikasi di Azure Active Directory B2C (Azure AD B2C). Artikel ini menjelaskan metode akses menyeluruh 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 mengakses berbagai aplikasi. Aplikasi ini dapat berupa aplikasi web, seluler, atau satu halaman, terlepas dari platform atau nama domain.

Ketika pengguna awalnya masuk ke aplikasi, Azure AD 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 cookie kedaluwarsa atau menjadi tidak valid, pengguna akan diminta untuk masuk lagi.

Nota

Jika pengguna menggunakan browser yang memblokir cookie pihak ketiga, ada batasan dengan SSO karena akses terbatas ke sesi berbasis cookie. Dampak yang paling terlihat pengguna adalah ada lebih banyak interaksi yang diperlukan untuk masuk. Selain itu, pembatalan sesi di saluran depan tidak langsung menghapus status autentikasi dari aplikasi federasi. Periksa cara kami yang direkomendasikan tentang cara menangani pemblokiran cookie pihak ketiga di browser.

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
  • Penyedia identitas terfederasi - Sesi yang dikelola oleh penyedia identitas, misalnya akun Facebook, Salesforce, atau Microsoft
  • Aplikasi - Sesi yang dikelola oleh aplikasi web, seluler, atau satu halaman

Sesi SSO

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 federasi kedaluwarsa atau tidak valid, penyedia identitas federasi meminta kredensial dari 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 TTL sesi dan bagaimana Azure AD B2C berbagi sesi di seluruh kebijakan dan aplikasi.

Sesi penyedia identitas terfederasi

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

Pertimbangkan skenario berikut:

  1. Pengguna masuk ke Facebook untuk memeriksa umpan mereka.
  2. Nantinya, pengguna membuka aplikasi Anda dan memulai proses masuk. Aplikasi mengalihkan pengguna ke Azure AD B2C untuk menyelesaikan proses masuk.
  3. Pada 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 serupa.

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 Tetap masuk (KMSI).

    • Rolling - 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 akses menyeluruh - 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 aplikasi lain saat mengaksesnya.
    • Aplikasi - Pengaturan ini memungkinkan Anda mempertahankan sesi pengguna secara eksklusif untuk aplikasi, terlepas 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 mempertahankan sesi pengguna secara eksklusif untuk alur pengguna, terlepas 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.
    • Dihilangkan - 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 sudut kiri atas portal Microsoft Azure, lalu cari dan pilih Azure AD B2C.
  4. Pilih alur pengguna .
  5. Buka alur pengguna yang sebelumnya Anda buat.
  6. Pilih Properti.
  7. Konfigurasikan masa pakai sesi aplikasi Web (menit), Batas waktu sesi aplikasi web, Konfigurasi akses menyeluruh, dan Memerlukan Token ID dalam permintaan keluar sesuai kebutuhan.
  8. Pilih Simpan.

Mengonfigurasi kebijakan kustom

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

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

  2. Jika belum ada, tambahkan elemen berikut <UserJourneyBehaviors> ke <RelyingParty> elemen . Ini harus terletak segera setelah <DefaultUserJourney ReferenceId="UserJourney Id"/>.

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

    Setelah Anda menambahkan elemen perilaku perjalanan pengguna, RelyingParty elemen 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 Scope atribut menjadi salah satu nilai yang mungkin: Suppressed, , TenantApplication, atau Policy. Untuk informasi selengkapnya, lihat artikel referensi RelyingParty .

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

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

Aktifkan Tetap masuk (KMSI)

Anda dapat mengaktifkan fitur KMSI untuk pengguna web dan aplikasi asli Anda 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. Sesi 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 ketika pengguna keluar. Untuk informasi selengkapnya, lihat Demo langsung.

Contoh halaman masuk pendaftaran memperlihatkan kotak centang Biarkan saya tetap masuk

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

  • KMSI hanya didukung untuk versi yang direkomendasikan dari alur pengguna pendaftaran dan masuk (SUSI), alur pengguna masuk, dan alur pengguna 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 proses reset kata sandi atau pendaftaran pengguna.
  • 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 disajikan dengan beberapa kebijakan selama sesi, ada kemungkinan mereka dapat menemukan yang tidak mengaktifkan KMSI, yang akan menghapus cookie KMSI dari sesi.
  • 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 sudut kiri atas portal Microsoft Azure, lalu cari dan pilih Azure AD B2C.

  4. Pilih Alur pengguna (kebijakan).

  5. Buka alur pengguna yang sebelumnya Anda buat.

  6. Pilih Properti.

  7. Di bawah Perilaku sesi, pilih Aktifkan buat saya tetap masuk sesi. Di samping Biarkan saya tetap masuk selama sesi (hari), masukkan nilai dari 1 hingga 90 untuk menentukan jumlah hari sesi dapat berlangsung.

    Aktifkan buat saya tetap masuk sesi

Pengguna tidak boleh mengaktifkan opsi ini di komputer publik.

Mengonfigurasi pengidentifikasi halaman

Untuk mengaktifkan KMSI, atur elemen definisi DataUri konten ke pengidentifikasiunifiedssp halaman dan halaman versi1.1.0 atau 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 tidak ada, tambahkan elemen tersebut.

  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>
    

Tambahkan metadata ke profil teknis yang ditegaskan sendiri

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

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

  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 pengandalan

Perbarui file pihak pengandalan (RP) yang memulai alur 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 simpul <RelyingParty> . Ini harus terletak segera setelah <DefaultUserJourney ReferenceId="User journey Id" />, misalnya: <DefaultUserJourney ReferenceId="SignUpOrSignIn" />.

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

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

Anda mengatur KeepAliveInDays dan SessionExpiryInSeconds sehingga selama masuk, jika pengguna mengaktifkan KMSI, KeepAliveInDays digunakan untuk mengatur cookie, jika tidak, nilai yang ditentukan dalam parameter SessionExpiryInSeconds digunakan. Kami menyarankan agar Anda menetapkan nilai SessionExpiryInSeconds menjadi periode singkat (1200 detik), sementara nilai KeepAliveInDays dapat diatur ke periode yang relatif panjang (30 hari), seperti yang ditunjukkan 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>

Logout

Ketika Anda ingin mengeluarkan pengguna dari aplikasi, 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.

Setelah permintaan keluar dari akun, Azure AD B2C:

  1. Membatalkan sesi berbasis cookie Azure AD B2C.
  2. Upaya untuk keluar dari penyedia identitas federasi.
  1. Membatalkan sesi berbasis cookie Azure AD B2C.
  2. Upaya untuk mencoba keluar dari penyedia identitas terfederasi:
    • OpenId Connect - Jika titik akhir konfigurasi umum yang dikenal dari penyedia identitas menentukan lokasi end_session_endpoint. Permintaan keluar tidak menyertakan parameter id_token_hint. Jika penyedia identitas federasi memerlukan parameter ini, permintaan keluar gagal.
    • OAuth2 - Jika metadata penyedia identitas mengandung lokasi end_session_endpoint.
    • SAML - Jika metadata penyedia identitas berisi SingleLogoutService lokasi.
  3. Secara opsional, keluar dari aplikasi lain. Untuk informasi selengkapnya, lihat bagian Keluar satu kali.

Nota

Anda dapat menonaktifkan fitur logout dari penyedia identitas yang terfederasi, dengan mengatur metadata profil teknis penyedia identitas ke SingleLogoutEnabled.

Keluar masuk membersihkan status akses tunggal pengguna dengan Azure AD B2C, tetapi mungkin tidak mengeluarkan pengguna dari sesi penyedia identitas sosial mereka. Jika pengguna memilih penyedia identitas yang sama selama masuk berikutnya, mereka mungkin mengautentikasi ulang tanpa memasukkan kredensial mereka. Jika pengguna ingin keluar dari aplikasi, itu tidak selalu berarti mereka ingin keluar dari akun Facebook mereka. Namun, jika akun lokal digunakan, sesi pengguna berakhir dengan benar.

Keluar tunggal

Saat Anda mengalihkan pengguna ke titik akhir keluar Azure AD B2C (untuk OAuth2 dan OpenID Connect) atau mengirim LogoutRequest (untuk SAML), 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 keluar tunggal, juga dikenal sebagai Single Log-Out (SLO).

Selama keluar, Azure AD B2C secara bersamaan mengirim permintaan HTTP ke URL keluar terdaftar dari semua aplikasi tempat pengguna saat ini masuk.

Mengonfigurasi kebijakan kustom Anda

Untuk mendukung akses menyeluruh, profil teknis penerbit 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 penerbit token JWT dan SAML dengan akses menyeluruh:

<ClaimsProvider>
  <DisplayName>Local Account SignIn</DisplayName>
  <TechnicalProfiles>
    <!-- JWT Issuer -->
    <TechnicalProfile Id="JwtIssuer">
      <DisplayName>JWT 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 berpartisipasi dalam keluar otomatis:

  • 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 keluar.
  • Untuk aplikasi OpenID Connect atau OAuth2, atur logoutUrl atribut manifes pendaftaran aplikasi Anda. Untuk mengonfigurasi URL keluar:
    1. Dari menu Azure AD B2C, pilih Pendaftaran aplikasi.
    2. Pilih pendaftaran aplikasi Anda.
    3. Di bagian Kelola, pilih Autentikasi.
    4. Di bawah URL Front-channel logout, konfigurasikan URL logout Anda.

Menangani permintaan keluar tunggal

Ketika Azure AD B2C menerima permintaan keluar, azure AD B2C menggunakan iframe HTML saluran depan untuk mengirim permintaan HTTP ke URL keluar terdaftar dari setiap aplikasi yang berpartisipasi tempat pengguna saat ini masuk. Perhatikan, aplikasi yang memicu permintaan keluar mendapatkan pesan keluar ini. Aplikasi Anda harus menanggapi permintaan keluar dengan menghapus sesi aplikasi yang mengidentifikasi pengguna.

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

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

  • Untuk aplikasi OpenID Connect atau OAuth2, aplikasi 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.

Amankan pengalihan logout 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 id_token_hint yang valid diteruskan dan Memerlukan Token ID dalam permintaan keluar diaktifkan, Azure AD B2C memverifikasi bahwa nilai post_logout_redirect_uri cocok dengan salah satu URI pengalihan yang dikonfigurasi dari aplikasi sebelum pengalihan dilakukan. Jika tidak ada URL balasan yang cocok yang dikonfigurasi untuk aplikasi, pesan kesalahan ditampilkan dan pengguna tidak dialihkan.

Untuk mewajibkan 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 sudut kiri atas portal Microsoft Azure, lalu cari dan pilih Azure AD B2C.
  4. Pilih alur pengguna .
  5. Buka alur pengguna yang sebelumnya Anda buat.
  6. Pilih Properti.
  7. Aktifkan Wajibkan Token ID dalam permintaan logout.

Untuk memerlukan Token ID dalam permintaan keluar, tambahkan elemen UserJourneyBehaviors di dalam elemen RelyingParty . Kemudian atur EnforceIdTokenHintOnLogout dari elemen SingleSignOn ke true. Untuk informasi selengkapnya, lihat 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. Dalam kotak teks URL Keluar , ketik URI pengalihan keluar postingan Anda, lalu pilih Simpan.