Tambahkan autentikasi pengguna ke topik untuk memungkinkan pelanggan Anda masuk langsung dalam percakapan. Anda kemudian dapat mempersonalisasi percakapan dengan variabel pengguna dan mengakses sistem back-end atas nama pengguna.
Anda perlu mengonfigurasi autentikasi pengguna dengan Microsoft Entra ID sebelum dapat menggunakan autentikasi dalam topik Anda.
Ikuti petunjuk dalam Mengonfigurasi autentikasi pengguna dengan Microsoft Entra ID.
Menambahkan autentikasi pengguna dengan topik sistem masuk
Saat Anda membuat agen, Copilot Studio secara otomatis menambahkan topik sistem yang disebut masuk. Untuk menggunakannya, Anda harus mengatur autentikasi agen ke manual dan mengharuskan pengguna untuk masuk. Saat pelanggan memulai percakapan dengan agen, topik masuk akan memicu dan meminta pengguna untuk masuk. Anda dapat menyesuaikan topik masuk sesuai dengan agen Anda.
Penting
Kami menyarankan agar topik masuk hanya digunakan untuk menyediakan metode autentikasi yang disediakan oleh Copilot Studio. Itu tidak boleh dimodifikasi untuk memanggil tindakan atau alur lain, atau metode autentikasi lainnya.
Buka agen Copilot Studio Anda, pilih Pengaturan di bagian atas halaman, lalu pilih Keamanan.
Pilih Autentikasi.
Pilih Autentikasi secara manual, lalu pilih Wajibkan pengguna untuk masuk.
Konfigurasikan semua bidang autentikasi manual, sesuai kebutuhan.
Pilih Simpan.
Menambahkan autentikasi pengguna dengan topik kustom
Topik masuk mengautentikasi pengguna di awal percakapan. Untuk mengizinkan pengguna masuk nanti, Anda dapat menambahkan simpul Autentikasi ke topik kustom apa pun.
Saat pelanggan memasukkan nama pengguna dan kata sandi mereka, mereka mungkin diminta untuk memasukkan kode validasi. Setelah masuk, mereka tidak diminta lagi, bahkan jika mereka mencapai simpul Autentikasi lain .
Pilih Pengaturan di bagian atas halaman, lalu pilih Keamanan.
Pilih ubin Autentikasi .
Catatan
Anda harus memilih Autentikasi secara manual untuk menambahkan autentikasi pengguna ke topik kustom.
Kosongkan kotak centang Mengharuskan pengguna untuk masuk .
Konfigurasikan semua bidang autentikasi manual, sesuai kebutuhan.
Pilih Simpan.
Pilih Topik di bagian atas halaman.
Pilih Tambahkan node (
)Autentikasi >> Lanjutan.
Uji topik Anda dengan pengguna yang dikonfigurasi dengan penyedia identitas Anda.
Tip
Penting bagi Anda untuk membuat jalur untuk masuk yang berhasil dan kegagalan masuk. Login mungkin gagal karena berbagai alasan, termasuk error dengan pengalaman masuk penyedia identitas.
Variabel Otentikasi
Saat mengonfigurasi autentikasi pengguna untuk agen, Anda dapat menggunakan variabel autentikasi dalam topik Anda. Tabel berikut membandingkan ketersediaan variabel ini berdasarkan opsi autentikasi yang Anda pilih.
Untuk informasi selengkapnya tentang variabel, lihat Gambaran umum variabel.
Variabel autentikasi |
Tidak ada autentikasi |
Autentikasikan dengan Microsoft |
Autentikasikan secara manual |
User.DisplayName |
Tidak tersedia |
Tersedia |
Tersedia |
Pengguna.Nama Depan |
Tidak tersedia |
Tersedia |
Tersedia |
Pengguna.Nama Belakang |
Tidak tersedia |
Tersedia |
Tersedia |
User.PrincipalName |
Tidak tersedia |
Tersedia |
Tersedia |
User.Email |
Tidak tersedia |
Tersedia |
Tersedia |
User.Id |
Tidak tersedia |
Tersedia |
Tersedia |
Pengguna.IsLoggedIn |
Tidak tersedia |
Tersedia |
Tersedia |
User.AccessToken |
Tidak tersedia |
Tidak tersedia |
Tersedia |
MasukMasuk Alasan |
Tidak tersedia |
Tersedia |
Tersedia |
User.DisplayName
Peringatan
Variabel ini tidak dijamin berisi nilai. Uji dengan pengguna dari penyedia identitas Anda untuk memastikan topik Anda berfungsi dengan benar.
Variabel berisi User.DisplayName
nama tampilan yang disimpan di penyedia identitas. Gunakan variabel ini untuk menyapa atau merujuk kepada pengguna tanpa harus secara eksplisit memberikan nama mereka kepada agen, membuat percakapan lebih personal.
Copilot Studio Secara otomatis mengatur nilai User.DisplayName
dari name
klaim yang disediakan oleh penyedia identitas, selama cakupan profile
ditentukan saat autentikasi manual dikonfigurasi. Untuk informasi selengkapnya tentang cakupan, lihat Mengonfigurasi autentikasi pengguna dengan Microsoft Entra ID.
User.Id
Peringatan
Variabel ini tidak dijamin berisi nilai. Uji dengan pengguna dari penyedia identitas Anda untuk memastikan topik Anda berfungsi dengan benar.
Variabel berisi User.Id
ID pengguna yang disimpan di penyedia identitas. Gunakan variabel ini dalam Power Automate alur untuk memanggil API yang mengambil UserID sebagai nilai.
Copilot Studio secara otomatis menetapkan nilai User.DisplayName
dari sub
klaim yang diberikan oleh penyedia identitas.
Pengguna.IsLoggedIn
User.IsLoggedIn
adalah variabel Boolean yang menyimpan status masuk pengguna. Nilai menunjukkan true
pengguna masuk. Anda dapat menggunakan variabel ini untuk membuat logika percabangan dalam topik Anda yang memeriksa proses masuk yang berhasil, atau untuk mengambil informasi pengguna hanya jika pengguna masuk.
User.AccessToken
Peringatan
Pastikan Anda meneruskan User.AccessToken
variabel hanya ke sumber tepercaya. Ini berisi informasi otentikasi pengguna, yang jika dibobol dapat membahayakan pengguna.
Variabel berisi User.AccessToken
token pengguna, yang diperoleh setelah pengguna masuk. Anda dapat meneruskan variabel ini ke Power Automate alur sehingga mereka dapat terhubung ke API back-end dan mengambil informasi pengguna, atau untuk mengambil tindakan atas nama pengguna.
Jangan gunakan User.AccessToken
di simpul Pesan atau dalam alur yang tidak Anda percayai.
SignInReason
SignInReason
adalah variabel tipe pilihan yang menunjukkan kapan pengguna harus masuk. Ini memiliki dua nilai yang memungkinkan:
SignInRequired
Menunjukkan pengguna harus masuk di awal percakapan menggunakan topik Sistem Masuk .
Mengharuskan pengguna untuk masuk harus diaktifkan.
Initializer
Menunjukkan bahwa ketika pengguna tidak masuk, dan mereka mencapai titik dalam percakapan yang menggunakan variabel autentikasi, mereka diminta untuk masuk.
Variabel Otentikasi
Jika agen Anda dikonfigurasi dengan opsi Autentikasi dengan Microsoft atau Autentikasi manual , Anda memiliki serangkaian variabel autentikasi yang tersedia dalam topik Anda. Untuk informasi selengkapnya tentang cara mengonfigurasi autentikasi di agen Anda, lihat Mengonfigurasi autentikasi pengguna di. Copilot Studio
Tabel berikut membandingkan ketersediaan variabel otentikasi dengan pilihan konfigurasi otentikasi:
Variabel autentikasi |
Tidak ada autentikasi |
Autentikasikan dengan Microsoft |
Panduan |
User.DisplayName |
❌ |
✔️ |
✔️ |
User.Id |
❌ |
✔️ |
✔️ |
User.IsLoggedIn |
❌ |
❌ |
✔️ |
User.AccessToken |
❌ |
❌ |
✔️ |
Variabel UserDisplayName
Variabel berisi User.DisplayName
nama tampilan pengguna yang disimpan di penyedia identitas. Anda dapat menggunakan variabel ini untuk menyapa atau merujuk kepada pelanggan tanpa mereka harus secara eksplisit memberitahukannya kepada agen, membuatnya lebih personal.
Nilai bidang ini diperoleh dari Microsoft Entra klaim ID name
. Untuk OAuth penyedia, nilai ini disimpan dalam name
klaim. Copilot Studio Secara otomatis mengekstrak bidang ini ke dalam variabel, jadi pastikan Anda memiliki profile
sebagai bagian dari penyiapan cakupan autentikasi Anda.
Variabel UserID
Variabel berisi User.Id
ID pengguna yang disimpan di penyedia identitas. Power Automate alur dapat menggunakan nilai ini untuk memanggil API yang mengambil UserID sebagai nilai.
Nilai bidang ini diperoleh dari Microsoft Entra klaim ID sub
. Untuk OAuth penyedia, nilai ini disimpan dalam sub
klaim. Copilot Studio secara otomatis mengekstrak bidang ini ke dalam variabel.
Peringatan
Variabel User.DisplayName
dan User.Id
tidak dijamin akan diisi, dan mungkin berupa string kosong tergantung pada konfigurasi pengguna di penyedia identitas. Uji dengan pengguna dari penyedia identifikasi Anda untuk memastikan topik Anda berfungsi dengan benar, meskipun variabel ini kosong.
Variabel IsLoggedIn
Variabel menunjukkan User.IsLoggedIn
apakah pengguna masuk (baik sebagai hasil dari masuk atau sudah masuk, juga dikenal sebagai jalur keberhasilan login) atau tidak masuk (yang akan mengakibatkan jalur kegagalan login).
User.IsLoggedIn
adalah variabel Boolean yang berisi status login pengguna. Anda dapat menggunakan variabel ini untuk membuat logika percabangan dalam topik Anda yang memeriksa login yang berhasil (misalnya, dalam templat yang sudah disediakan sebagai bagian dari penambahan simpul Autentikasi ), atau untuk mengambil informasi pengguna secara oportunistik hanya jika pengguna masuk.
Variabel User.AccessToken
Variabel berisi User.AccessToken
token pengguna, yang diperoleh setelah pengguna masuk. Anda dapat meneruskan variabel ini ke Power Automate alur sehingga mereka dapat terhubung ke API back-end dan mengambil informasi pengguna, atau untuk mengambil tindakan atas nama pengguna.
Peringatan
Pastikan Anda meneruskan User.AccessToken
variabel hanya ke sumber tepercaya. Ini berisi informasi otentikasi pengguna, yang jika dibobol dapat membahayakan pengguna.
Jangan gunakan User.AccessToken
di dalam simpul Pesan , atau pada alur yang tidak Anda percayai.
Menguji variabel otentikasi
Secara default, panel Uji bot menggunakan akun pengguna yang saat ini masuk untuk mengisi User.DisplayName
variabel dan User.Id
. Namun, saat menguji topik yang menggunakan otentikasi, Anda mungkin ingin menggunakan nilai lain untuk variabel ini (atau bahkan nilai kosong).
Contohnya, Anda mungkin ingin menguji cara kerja karakter khusus, atau apa yang terjadi jika variabel kosong.
Tabel berikut mencantumkan perintah untuk mengisi variabel ini. Perintah ini hanya berlaku untuk panel Uji bot ; Anda tidak dapat menggunakannya di agen yang diterbitkan yang disebarkan ke saluran.
Masukkan perintah yang diinginkan ke dalam panel Uji bot seperti yang Anda lakukan jika Anda biasanya mengobrol dengan agen. Anda akan menerima pesan konfirmasi dari agen jika berhasil. Jika agen Anda tidak menggunakan autentikasi, Anda akan menerima error.
Jika Anda mengatur ulang panel Bot uji (atau membuat perubahan pada topik yang menyebabkan bot Uji diatur ulang secara otomatis), Anda harus mengirim perintah lagi.
Variabel |
Perintah Nilai kustom |
Perintah nilai kosong (kosong) |
User.DisplayName |
/debug set bot.UserDisplayName "Value" |
/debug set bot.UserDisplayName "" |
User.Id |
Tidak tersedia |
/debug set bot.UserID "" |
Penting
Untuk alasan keamanan, Anda tidak dapat mengisi variabel User.Id
dengan nilai kustom (selain nilai kosong atau kosong).
Autentikasi saat menggunakan "Autentikasi dengan Microsoft"
Jika opsi autentikasi Anda diatur ke Autentikasi dengan Microsoft, Anda tidak perlu menambahkan autentikasi secara eksplisit ke topik Anda. Di konfigurasi ini, setiap pengguna di Microsoft Teams secara otomatis masuk melalui kredensial tim mereka dan mereka tidak perlu masuk secara eksplisit dengan kartu otentikasi. Jika opsi autentikasi Anda diatur ke Manual, maka Anda harus menambahkan simpul Autentikasi (bahkan untuk saluran Teams).
Catatan
Jika opsi autentikasi Anda diatur ke Autentikasi dengan Microsoft, Anda tidak memiliki opsi untuk menambahkan autentikasi secara eksplisit ke topik Anda.
Tambahkan otentikasi pengguna ke topik
Simpul Autentikasi meminta pengguna untuk masuk dengan kartu masuk. Setelah pengguna masuk, mereka tidak diminta lagi, bahkan jika mereka mencapai simpul Autentikasi lain .
Setelah pengguna memasukkan nama pengguna dan sandi mereka dalam prompt (dihosting oleh penyedia identitas), mereka mungkin diminta untuk memasukkan kode validasi, tergantung pada saluran. Beberapa saluran, seperti Microsoft Teams, tidak memerlukan kode validasi dari pengguna.
Saat agen Anda telah mengonfigurasi SSO , pengguna tidak akan diminta untuk masuk.
Untuk menambahkan simpul Autentikasi ke topik Anda:
Buka halaman Topik untuk agen yang ingin Anda edit.
Buka topik tempat Anda ingin menambahkan templat autentikasi.
Catatan
Jika agen Anda terhubung ke Dynamics 365 Customer Service, simpul Autentikasi tidak dapat menjadi bagian dari jalur percakapan yang diikuti agen saat pertama kali menyapa pengguna; Jika tidak, kartu masuk akan ditampilkan dua kali. Sebagai gantinya, Anda harus menambahkan simpul Autentikasi ke topik lain yang dipicu oleh respons pengguna.
Pilih Tambahkan node (+) untuk menambahkan simpul pesan. Masukkan apa yang harus dikatakan agen untuk menunjukkan bahwa pengalaman masuk akan segera terjadi.
Di bawah simpul pesan, pilih Tambahkan simpul+(), pilih Panggil tindakan, lalu pilih Autentikasi.
Catatan
Simpul Autentikasi hanya tersedia di pemilih tindakan di akhir pohon dialog (sebagai simpul daun). Ini tidak dapat ditambahkan di tengah dialog. Setelah ditambahkan, node lain dapat ditambahkan di bawahnya.
Simpul baru muncul secara otomatis: simpul Autentikasi induk , diikuti oleh simpul untuk jalur keberhasilan dan jalur kegagalan.
Penggunaan User.AccessToken tanpa simpul Autentikasi
User.IsLoggedIn
Variabel dan User.AccessToken
tersedia meskipun Anda tidak menggunakan templat yang disediakan oleh entri menu Panggil tindakan . Jika Anda meneruskan User.AccessToken
variabel tanpa terlebih dahulu meminta pengguna melalui simpul Autentikasi , pengguna akan diminta untuk masuk pada langkah tersebut.
Meneruskan User.AccessToken
variabel dapat berguna jika Anda selalu mengharapkan pengguna masuk, atau jika pengguna Anda dialihkan dari topik lain. Sebaiknya gunakan templat yang disediakan oleh entri Panggil tindakan untuk menangani kasus di mana pengguna gagal masuk.
Catatan
Jika pengguna keluar di tengah percakapan, mereka akan diminta untuk masuk lagi jika topik datang ke simpul yang menggunakan User.AccessToken
variabel.
Jalur sukses
Jalur keberhasilan sama dengan tempat User.IsLoggedIn = True
dan akun saat pengguna berhasil masuk (atau sudah masuk).
Jika Anda memiliki logika yang menggunakan User.AccessToken
variabel (misalnya, untuk menyambungkan ke sistem back-end menggunakan alur untuk mengambil informasi pengguna), itu harus berada di bawah jalur ini.
Jalur Kegagalan
Jalur kegagalan sama dengan kondisi apa pun selain dari IsLoggedIn = True
. Dalam kebanyakan kasus, jalur kegagalan terjadi karena pengguna gagal masuk, menggunakan kata sandi yang salah, atau membatalkan pengalaman masuk.
Tambahkan logika yang mungkin Anda inginkan untuk menangani kasus ini. Sebagai contoh, kami telah menyediakan opsi untuk mencoba lagi atau untuk meningkatkan ke agen langsung. Sesuaikan tindakan Jalur Kegagalan untuk skenario dan penggunaan tertentu.
Menguji topik
Pastikan untuk menguji topik Anda menggunakan pengguna nyata yang dikonfigurasi di penyedia identitas Anda. Pastikan jalur keberhasilan dan kegagalan masuk dilakukan, sehingga tidak ada kejutan jika pengguna gagal masuk atau ada kesalahan dengan pengalaman masuk penyedia identitas.