Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Front end Fabric menawarkan API JavaScript untuk beban kerja Fabric untuk memperoleh token untuk aplikasi mereka di ID Microsoft Entra. Artikel ini menjelaskan API ini.
API
acquireAccessToken(params: AcquireAccessTokenParams): Promise<AccessToken>;
export interface AcquireAccessTokenParams {
additionalScopesToConsent?: string[];
claimsForConditionalAccessPolicy?: string;
promptFullConsent?: boolean;
}
API mengembalikan objek AccessToken yang berisi token itu sendiri dan tanggal kedaluwarsa untuk token.
Untuk memanggil API dalam sampel Frontend, buat item sampel lalu gulir ke bawah dan pilih Navigasi ke halaman Autentikasi. Dari sana Anda dapat memilih Dapatkan token akses untuk menerima token kembali.
Persetujuan
Untuk memahami mengapa persetujuan diperlukan, silakan buka Persetujuan pengguna dan admin di ID Microsoft Entra.
Catatan
Persetujuan diperlukan agar CRUD/Pekerjaan berfungsi dan memperoleh token di seluruh penyewa.
Bagaimana cara kerja persetujuan dalam beban kerja Fabric?
Untuk memberikan persetujuan untuk aplikasi tertentu, Fabric FE membuat instans MSAL yang dikonfigurasi dengan ID aplikasi beban kerja dan meminta token untuk cakupan yang disediakan (additionalScopesToConsent - lihat AcquireAccessTokenParams).
Saat meminta token dengan aplikasi beban kerja untuk cakupan tertentu, ID Microsoft Entra menampilkan persetujuan popup jika hilang, lalu mengalihkan jendela popup ke URI pengalihan yang dikonfigurasi dalam aplikasi.
Biasanya URI pengalihan berada di domain yang sama dengan halaman yang meminta token, sehingga halaman dapat mengakses popup dan menutupnya.
Dalam kasus kami, itu tidak berada di domain yang sama, karena Fabric meminta token dan URI pengalihan beban kerja tidak ada di domain Fabric. Jadi ketika dialog persetujuan terbuka, dialog perlu ditutup secara manual setelah pengalihan. Kami tidak menggunakan kode yang dikembalikan di redirectUri, oleh karena itu kami hanya mengalihkannya secara otomatis (ketika MICROSOFT Entra ID mengalihkan popup ke URI pengalihan yang hanya ditutup).
Anda dapat melihat kode/konfigurasi Uri pengalihan dalam file index.ts .
Berikut adalah contoh popup persetujuan untuk aplikasi "aplikasi beban kerja saya" dan dependensinya (penyimpanan dan Power BI) yang kami konfigurasi saat melakukan penyiapan autentikasi:
Cara lain untuk memberikan persetujuan di penyewa rumah (opsional)
Untuk mendapatkan persetujuan di penyewa beranda aplikasi, Anda dapat meminta admin penyewa untuk memberikan persetujuan untuk seluruh penyewa menggunakan URL dalam format berikut (masukkan ID penyewa Anda sendiri dan ID klien):
https://login.microsoftonline.com/{tenantId}/adminconsent?client_id={clientId}
AcquireAccessTokenParams
Saat memanggil API JS acquireAccessToken, kami dapat menyediakan tiga parameter:
- additionalScopesToConsent: Cakupan lain untuk meminta persetujuan, misalnya skenario rekonsent.
- claimsForConditionalAccessPolicy: Klaim yang dikembalikan dari ID Microsoft Entra saat alur OBO gagal, misalnya OBO memerlukan autentikasi multifaktor.
- promptFullConsent: Meminta jendela persetujuan penuh dari dependensi statis aplikasi beban kerja.
additionalScopesToConsent
Jika Frontend beban kerja meminta token untuk digunakan untuk panggilan ke backend beban kerja, parameter ini harus null. Backend beban kerja dapat gagal melakukan OBO pada token yang diterima karena kesalahan persetujuan hilang, dalam hal ini backend beban kerja perlu menyebarluaskan kesalahan ke frontend beban kerja dan memberikan parameter ini.
claimsForConditionalAccessPolicy
Parameter ini digunakan saat menghadapi kegagalan OBO dalam beban kerja BE karena beberapa kebijakan akses bersyariah yang telah dikonfigurasi pada penyewa.
Kegagalan OBO karena kebijakan akses bersyarkat mengembalikan string yang disebut "klaim." String ini harus dikirim ke FE beban kerja di mana FE harus meminta token dan meneruskan klaim sebagai claimsForConditionalAccessPolicy. Untuk informasi selengkapnya, lihat Menangani autentikasi multifaktor (MFA), akses bersyarkat, dan persetujuan bertambah bertahap.
Lihat Penggunaan AuthenticationService AddBearerClaimToResponse dalam sampel BE untuk melihat contoh respons saat operasi OBO gagal karena persetujuan tidak ada atau kebijakan akses bersyarah.
Untuk mempelajari selengkapnya tentang additionalScopesToConsent dan klaimForConditionalAccessPolicy ini dan lihat contoh penggunaan, lihat Panduan autentikasi beban kerja & mendalami.
promptFullConsent
Ketika diteruskan sebagai benar, persetujuan penuh dari dependensi statis akan muncul untuk pengguna terlepas dari apakah itu memberikan persetujuan sebelumnya atau tidak. Contoh penggunaan untuk parameter ini adalah menambahkan tombol ke UX tempat pengguna dapat menggunakannya untuk memberikan persetujuan penuh untuk beban kerja.