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.
Berlaku untuk:
Penyewa tenaga kerja (pelajari lebih lanjut)
Setelah memiliki token, Anda dapat memanggil API web yang dilindungi.
Memanggil API web
Properti dari AuthenticationResult di MSAL.NET
Metode untuk memperoleh token menampilkan AuthenticationResult. Untuk metode asinkron, Task<AuthenticationResult> ditampilkan.
Dalam MSAL.NET, AuthenticationResult mengekspos:
-
AccessTokenuntuk API web untuk mengakses sumber daya. Parameter ini adalah string, biasanya JWT berkode Base-64. Klien tidak boleh melihat ke dalam token akses. Formatnya tidak dijamin tetap stabil, dan dapat dienkripsi untuk sumber daya. Menulis kode yang tergantung pada konten token akses pada klien adalah salah satu sumber kesalahan terbesar dan jeda logika klien. Untuk mengetahui informasi selengkapnya, lihat Token akses. -
IdTokenuntuk pengguna. Parameter ini adalah JWT yang dikodekan. Untuk mengetahui informasi selengkapnya, lihat Token ID. -
ExpiresOnmemberi tahu tanggal dan waktu saat token kedaluwarsa. -
TenantIdberisi tenant tempat pengguna ditemukan. Untuk pengguna tamu dalam skenario Microsoft Entra B2B, ID penyewa adalah penyewa tamu, bukan penyewa unik. Saat token dikirim untuk pengguna,AuthenticationResultjuga berisi informasi tentang pengguna ini. Untuk alur klien rahasia di mana token diminta tanpa pengguna untuk aplikasi, informasi pengguna ini adalah kosong. - Untuk
Scopesyang diberikan token. - ID unik untuk pengguna.
IAkun
MSAL.NET mendefinisikan gagasan akun melalui antarmuka IAccount. Perubahan signifikan ini memberikan semantik yang tepat. Pengguna yang sama dapat memiliki beberapa akun, di direktori Microsoft Entra yang berbeda. MSAL.NET juga memberikan informasi yang lebih baik dalam skenario tamu karena tersedia informasi akun utama.
Diagram berikut menunjukkan struktur antarmuka IAccount.
Kelas AccountId mengidentifikasi akun di penyewa tertentu dengan properti yang ditunjukkan dalam tabel berikut.
| Properti | Deskripsi |
|---|---|
TenantId |
Representasi string untuk GUID, yang merupakan ID penyewa tempat akun berada. |
ObjectId |
Representasi string untuk GUID, yang merupakan ID pengguna yang memiliki akun di penyewa. |
Identifier |
Pengidentifikasi unik untuk akun.
Identifier adalah perangkaian ObjectId dan TenantId yang dipisahkan oleh koma. Mereka tidak dikodekan dalam Base 64. |
Antarmuka IAccount mewakili informasi tentang satu akun. Pengguna yang sama dapat tersedia di penyewa yang berbeda, yang berarti bahwa pengguna dapat memiliki beberapa akun. Anggotanya ditampilkan dalam tabel berikut.
| Properti | Deskripsi |
|---|---|
Username |
String yang berisi nilai yang dapat ditampilkan dalam format UserPrincipalName (UPN), misalnya, john.doe@contoso.com. String ini bisa null, tidak seperti HomeAccountId dan HomeAccountId.Identifier, yang tidak akan null. Properti ini menggantikan properti DisplayableId dari IUser pada versi MSAL.NET sebelumnya. |
Environment |
String yang berisi penyedia identitas untuk akun ini, misalnya, login.microsoftonline.com. Properti ini menggantikan properti IdentityProvider milik IUser, namun IdentityProvider juga mencakup informasi tentang penyewa, selain dari lingkungan cloud. Di sini, nilainya hanya berupa host. |
HomeAccountId |
ID akun dari akun rumah pengguna. Properti ini secara unik mengidentifikasi pengguna di seluruh penyewa Microsoft Entra. |
Gunakan token untuk memanggil API yang dilindungi
Setelah AuthenticationResult ditampilkan oleh MSAL di result, tambahkan ke header otorisasi HTTP sebelum Anda melakukan panggilan untuk mengakses API web yang dilindungi.
httpClient = new HttpClient();
httpClient.DefaultRequestHeaders.Authorization = new AuthenticationHeaderValue("Bearer", result.AccessToken);
// Call the web API.
HttpResponseMessage response = await _httpClient.GetAsync(apiUri);
...