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 di Mengonfigurasi autentikasi pengguna dengan Microsoft Entra ID.
Tambahkan autentikasi pengguna dengan topik sistem masuk
Saat Anda membuat copilot, Copilot Studio secara otomatis menambahkan topik sistem yang disebut masuk. Untuk menggunakannya, Anda harus mengatur autentikasi kopilot Anda ke manual dan mengharuskan pengguna untuk masuk. Saat pelanggan memulai percakapan dengan kopilot, topik masuk memicu dan meminta pengguna untuk masuk. Anda dapat menyesuaikan topik masuk sesuai dengan kopilot Anda.
Penting
Disarankan agar topik masuk hanya digunakan untuk menyediakan metode autentikasi yang disediakan oleh Copilot Studio. Ini tidak boleh dimodifikasi untuk memanggil tindakan atau alur lain, atau metode autentikasi lainnya.
Buka copilot 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 Wajibkan pengguna masuk .
Konfigurasikan semua bidang autentikasi manual, sesuai kebutuhan.
Pilih Simpan.
Pilih Topik di bagian atas halaman.
Pilih Tambahkan node ( ) >Autentikasi Tingkat Lanjut>.
Menguji topik Anda dengan pengguna yang dikonfigurasi dengan penyedia identitas Anda.
Tip
Penting bagi Anda untuk membuat jalur untuk login yang berhasil dan gagal masuk. Proses masuk mungkin gagal karena berbagai alasan, termasuk kesalahan dengan pengalaman masuk penyedia identitas.
Variabel Otentikasi
Saat mengonfigurasi autentikasi pengguna untuk kopilot, 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 Bekerja dengan variabel.
Variabel autentikasi |
Tidak ada autentikasi |
Autentikasikan dengan Microsoft |
Autentikasikan secara manual |
Nama Tampilan Pengguna |
Tidak tersedia |
Tersedia |
Tersedia |
Pengguna.Nama Depan |
Tidak tersedia |
Tersedia |
Tersedia |
Nama Belakang Pengguna |
Tidak tersedia |
Tersedia |
Tersedia |
Nama Pengguna.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 |
Masuk Alasan |
Tidak tersedia |
Tersedia |
Tersedia |
Nama Tampilan Pengguna
Peringatan
Variabel ini tidak dijamin berisi nilai. Uji dengan pengguna dari penyedia identitas Anda untuk memastikan topik Anda berfungsi dengan benar.
User.DisplayName
Variabel berisi nama tampilan yang disimpan di penyedia identitas. Gunakan variabel ini untuk menyapa atau merujuk kepada pengguna tanpa harus secara eksplisit memberikan nama mereka kepada kopilot, membuat percakapan lebih personal.
Copilot Studio secara otomatis mengatur nilai dari User.DisplayName
klaim yang name
disediakan oleh penyedia identitas, selama profile
cakupan 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 klaim yang sub
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 login yang berhasil, atau untuk mengambil informasi pengguna hanya jika pengguna masuk.
User.AccessToken
Peringatan
Pastikan Anda meneruskan variabel hanya User.AccessToken
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 alur tersebut 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 jenis pilihan yang menunjukkan kapan pengguna harus masuk. Ini memiliki dua nilai yang mungkin:
SignInRequired
Menunjukkan pengguna harus masuk di awal percakapan menggunakan topik sistem masuk . Mewajibkan 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 copilot Anda dikonfigurasi dengan opsi Autentikasi dengan Microsoft atau Manual , Anda memiliki serangkaian variabel autentikasi yang tersedia di topik Anda. Untuk informasi selengkapnya tentang cara mengonfigurasi autentikasi di copilot 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 pengguna akhir tanpa mereka harus secara eksplisit memberitahukannya kepada kopilot, 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 di topik Anda yang memeriksa login yang berhasil (misalnya, dalam template 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 alur tersebut dapat terhubung ke API back-end dan mengambil informasi pengguna, atau untuk mengambil tindakan atas nama pengguna.
Peringatan
Pastikan Anda meneruskan variabel hanya User.AccessToken
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 variabel User.DisplayName
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 kopilot yang diterbitkan yang disebarkan ke saluran.
Masukkan perintah yang diinginkan ke dalam panel Uji bot seperti yang Anda lakukan jika Anda biasanya mengobrol dengan kopilot. Anda akan menerima pesan konfirmasi dari kopilot jika Anda berhasil. Jika copilot Anda tidak menggunakan autentikasi, Anda akan menerima kesalahan.
Jika Anda mengatur ulang panel Uji bot (atau Anda membuat perubahan pada topik yang menyebabkan Uji bot 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 User.Id
variabel 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 kata 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.
Jika copilot Anda telah mengonfigurasi SSO , pengguna tidak akan diminta untuk masuk.
Untuk menambahkan simpul Autentikasi ke topik Anda:
Buka halaman Topik untuk kopilot yang ingin Anda edit.
Buka topik yang ingin Anda tambahkan templat autentikasi.
Catatan
Jika copilot Anda tersambung ke Dynamics 365 layanan pelanggan, simpul Autentikasi tidak dapat menjadi bagian dari jalur percakapan yang diikuti copilot saat awalnya 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 node pesan. Masukkan apa yang harus dikatakan copilot untuk menunjukkan bahwa pengalaman masuk akan segera terjadi.
Di bawah simpul pesan, pilih Tambahkan node (),+ 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 indukAuthenticate, diikuti oleh simpul untuk jalur keberhasilan dan jalur kegagalan.
Penggunaan User.AccessToken tanpa simpul Autentikasi
Variabel User.IsLoggedIn
dan User.AccessToken
tersedia meskipun Anda tidak menggunakan template 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 untuk masuk, atau jika pengguna Anda dialihkan dari topik yang berbeda. Kami menyarankan Anda menggunakan template 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 masuk ke simpul yang menggunakan User.AccessToken
variabel.
Jalur sukses
Jalur keberhasilan sama dengan tempat dan User.IsLoggedIn = True
perhitungan kapan pengguna berhasil masuk (atau sudah masuk).
Jika Anda memiliki logika yang menggunakan User.AccessToken
variabel (misalnya, untuk terhubung 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 . 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 kembali atau 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 dijalankan, sehingga tidak ada kejutan jika pengguna Anda gagal masuk atau ada kesalahan dengan pengalaman masuk penyedia identitas.