Sub perjalanan

Sub perjalanan dapat digunakan untuk mengatur dan menyederhanakan alur langkah orkestrasi dalam perjalanan pengguna. Perjalanan pengguna menentukan jalur eksplisit di mana kebijakan memungkinkan aplikasi pihak yang mengandalkan untuk mendapatkan klaim yang diinginkan untuk pengguna. Pengguna diambil melalui jalur ini untuk memperoleh klaim yang akan disajikan kepada pihak berkepentingan. Dengan kata lain, perjalanan menetapkan logika bisnis tentang apa yang dilalui pengguna akhir saat IEF Azure AD B2C memproses permintaan tersebut. Perjalanan direpresentasikan sebagai urutan orkestrasi yang harus diikuti untuk transaksi yang berhasil. Elemen ClaimsExchange dari langkah orkestrasi terkait dengan satu profil teknis yang menjalankan.

Sebuah sub perjalanan adalah pengelompokan langkah orkestrasi yang dapat dipanggil kapan saja dalam sebuah perjalanan pengguna. Anda dapat menggunakan sub perjalanan untuk membuat urutan langkah yang dapat digunakan kembali atau mengimplementasikan percabangan untuk mewakili logika bisnis dengan lebih baik.

Percabangan perjalanan pengguna

Sub perjalanan berperilaku seperti perjalanan pengguna, karena keduanya diwakili sebagai urutan orkestrasi yang harus diikuti untuk keberhasilan transaksi. Perjalanan pengguna dapat dipanggil sendiri dan memerlukan langkah SendClaims untuk dijalankan. Sub perjalanan adalah komponen perjalanan pengguna dan tidak dapat dipanggil secara independen, dan selalu dipanggil dari perjalanan pengguna.

Komponen utama dari percabangan adalah untuk memungkinkan pemrosesan logika bisnis yang lebih baik dalam perjalanan pengguna. Langkah-langkah orkestrasi umum dikelompokkan menjadi potongan-potongan individu untuk dipanggil secara terpisah. Sub perjalanan dapat menyederhanakan sebuah perjalanan di mana beberapa langkah orkestrasi digabungkan bersama (memiliki prasyarat yang sama). Sub perjalanan disebut hanya dari perjalanan pengguna, itu seharusnya tidak memanggil sub perjalanan lain.

Ada dua jenis sub perjalanan:

  • Call - Mengembalikan kontrol ke penelepon. Perjalanan sub dijalankan, dan kemudian kontrol dikembalikan ke langkah orkestrasi yang saat ini dijalankan dalam perjalanan pengguna.
  • Transfer - Mentransfer kontrol ke sub perjalanan (percabangan yang tidak dapat diubah). Sub perjalanan harus memiliki langkah SendClaims untuk mengembalikan klaim kembali ke aplikasi pihak yang mengandalkan.

Skenario contoh

Sub perjalanan Call

Sub perjalanan Call berguna dalam beberapa skenario berikut:

  • Pembatasan Usia: Untuk pembatasan usia, ada banyak komponen bersama di antara perjalanan pengguna. Percabangan memungkinkan untuk mengompilasi elemen umum ke dalam komponen yang dapat dibagikan.
  • Persetujuan Orang Tua: Percabangan memungkinkan kenyamanan dalam desain persetujuan orang tua dengan memungkinkan kami untuk mengakses klaim dari perjalanan pengguna yang dieksekusi oleh anak di bawah umur, bersama dengan dapatnya melakukan percabangan menjadi perjalanan pengguna persetujuan orang tua setelah menemukan bahwa pengguna memerlukan persetujuan.
  • Mendaftar untuk masuk: Pertimbangkan skenario di mana pengguna sudah ada di direktori tetapi mungkin lupa bahwa mereka sebenarnya telah membuat akun. Mungkin dianjurkan dalam kasus seperti itu bahwa daripada memberi tahu pengguna bahwa informasi masuk yang telah mereka masukkan sudah ada dan memaksa pengguna untuk memulai kembali perjalanan bahwa kebijakan tersebut dapat melakukan pengalihan dari alur pendaftaran ke alur masuk untuk pengguna tersebut.

Sub perjalanan Transfer

Sub perjalanan Transfer berguna dalam beberapa skenario berikut:

  • Memperlihatkan halaman blok.
  • Pengujian A/B dengan merutekan permintaan ke sub perjalanan untuk menjalankan dan mengeluarkan sebuah token.

Menambahkan elemen SubJourneys

Berikut ini adalah contoh elemen SubJourney berjenis Call, yang mengembalikan kontrol kembali ke perjalanan pengguna.

<SubJourneys>
  <SubJourney Id="ConditionalAccess_Evaluation" Type="Call">
    <OrchestrationSteps>
      <OrchestrationStep Order="1" Type="ClaimsExchange">
       <ClaimsExchanges>
        <ClaimsExchange Id="ConditionalAccessEvaluation" TechnicalProfileReferenceId="ConditionalAccessEvaluation" />
       </ClaimsExchanges>
      </OrchestrationStep>
      <OrchestrationStep Order="2" Type="ClaimsExchange">
        <Preconditions>
          <Precondition Type="ClaimsExist" ExecuteActionsIf="false">
            <Value>conditionalAccessClaimCollection</Value>
            <Action>SkipThisOrchestrationStep</Action>
          </Precondition>
        </Preconditions>
        <ClaimsExchanges>
          <ClaimsExchange Id="GenerateCAClaimFlags" TechnicalProfileReferenceId="GenerateCAClaimFlags" />
        </ClaimsExchanges>
      </OrchestrationStep>
    </OrchestrationSteps>
  </SubJourney>
</SubJourneys>

Berikut ini adalah contoh elemen SubJourney berjenis Transfer, yang mengembalikan sebuah token kembali ke aplikasi pihak yang mengandalkan.

<SubJourneys>
  <SubJourney Id="B" Type="Transfer">
    <OrchestrationSteps>
      ...
      <OrchestrationStep Order="5" Type="SendClaims">
    </OrchestrationSteps>
  </SubJourney>
</SubJourneys>

Memanggil langkah sub perjalanan

Langkah orkestrasi baru jenis InvokeSubJourney digunakan untuk menjalankan sebuah sub perjalanan. Berikut ini adalah contoh yang memperlihatkan semua elemen eksekusi dari langkah orkestrasi ini.

<OrchestrationStep Order="5" Type="InvokeSubJourney">
  <JourneyList>
    <Candidate SubJourneyReferenceId="ConditionalAccess_Evaluation" />
  </JourneyList>
</OrchestrationStep>

Komponen

Untuk menentukan sub perjalanan yang didukung oleh kebijakan, tambahkan elemen SubJourneys di bawah elemen tingkat atas file kebijakan.

Elemen SubJourneys berisi elemen berikut:

Elemen Kemunculan Deskripsi
SubJourney 1:n Sub perjalanan yang menetapkan semua konstruksi yang diperlukan untuk alur pengguna yang lengkap.

Elemen SubJourneys berisi atribut berikut:

Atribut Diperlukan Deskripsi
Id Ya Pengidentifikasi sub perjalanan yang dapat digunakan oleh perjalanan pengguna untuk mereferensikan sub perjalanan dalam kebijakan. Elemen SubJourneyReferenceId dari elemen Kandidat menunjuk ke atribut ini.
Jenis Ya Nilai yang mungkin: Call, atau Transfer. Untuk informasi selengkapnya, lihat Percabangan perjalanan pengguna

Elemen UserJourney berisi elemen berikut:

Elemen Kemunculan Deskripsi
OrchestrationSteps 1:n Urutan orkestrasi yang harus diikuti agar transaksi berhasil. Setiap perjalanan pengguna terdiri dari daftar langkah-langkah orkestrasi yang dijalankan secara berurutan. Jika ada langkah yang gagal, transaksi gagal.

OrchestrationSteps

Untuk daftar lengkap elemen langkah orkestrasi, lihat UserJourneys.

Langkah berikutnya

Pelajari UserJourneys