PublicClientApplication class
Kelas ini akan digunakan untuk memperoleh token untuk aplikasi klien publik (desktop, seluler). Aplikasi klien publik tidak dipercaya untuk menyimpan rahasia aplikasi dengan aman, dan oleh karena itu hanya dapat meminta token atas nama pengguna.
- Memperluas
Konstruktor
| Public |
Atribut penting dalam objek Konfigurasi untuk autentikasi adalah:
Otoritas AAD berbentuk
Azure otoritas B2C adalah formulir https://{instance}/{tenant}/{policy}. Setiap kebijakan dianggap sebagai otoritasnya sendiri. Anda harus mengatur semua knownAuthorities pada saat konstruksi aplikasi klien. Otoritas ADFS adalah formulir https://{instance}/adfs. |
Metode
| acquire |
Memperoleh token dari otoritas menggunakan alur kode perangkat OAuth2.0. Alur ini dirancang untuk perangkat yang tidak memiliki akses ke browser atau memiliki batasan input. Server otorisasi mengeluarkan objek DeviceCode dengan kode verifikasi, kode pengguna akhir, dan URI verifikasi pengguna akhir. Objek DeviceCode disediakan melalui panggilan balik, dan pengguna akhir harus diinstruksikan untuk menggunakan perangkat lain untuk menavigasi ke URI verifikasi untuk memasukkan kredensial. Karena klien tidak dapat menerima permintaan masuk, klien melakukan polling pada server otorisasi berulang kali hingga pengguna akhir menyelesaikan input kredensial. |
| acquire |
Memperoleh token secara interaktif melalui browser dengan meminta kode otorisasi lalu menukarnya dengan token. |
| acquire |
Mengembalikan token yang diambil baik dari cache atau dengan bertukar token refresh untuk token akses baru. Jika broker diaktifkan, permintaan token akan dilayankan oleh broker. |
| get |
Mengembalikan semua akun cache untuk aplikasi ini. Jika broker diaktifkan, permintaan ini akan dilayankan oleh broker. |
| sign |
Menghapus artefak cache yang terkait dengan akun yang diberikan |
Metode yang Diwarisi
| acquire |
Memperoleh token dengan bertukar Kode Otorisasi yang diterima dari langkah pertama alur Kode Otorisasi OAuth2.0.
|
| acquire |
Memperoleh token dengan bertukar token refresh yang disediakan untuk sekumpulan token baru. API ini disediakan hanya untuk skenario di mana Anda ingin bermigrasi dari ADAL ke MSAL. Jika tidak, disarankan agar Anda menggunakan |
| acquire |
Memperoleh token dengan pemberian kata sandi dengan bertukar nama pengguna dan kata sandi aplikasi klien untuk kredensial Praktik Terbaik Keamanan OAuth 2.0 terbaru melarang pemberian kata sandi sepenuhnya. Detail selengkapnya tentang rekomendasi ini pada https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 dokumentasi dan rekomendasi Microsoft adalah di:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword |
| clear |
Menghapus cache |
| get |
Membuat URL permintaan otorisasi, membiarkan info masuk input pengguna dan menyetujui aplikasi. URL menargetkan titik akhir /otorisasi otoritas yang dikonfigurasi dalam objek aplikasi. Setelah pengguna memasukkan kredensial dan persetujuan mereka, otoritas akan mengirim respons ke URI pengalihan yang dikirim dalam permintaan dan harus berisi kode otorisasi, yang kemudian dapat digunakan untuk memperoleh token melalui |
| get |
Mengembalikan instans pencatat |
| get |
Mendapatkan cache token untuk aplikasi. |
| set |
Mengganti kumpulan pencatat default dalam konfigurasi dengan Pencatat baru dengan konfigurasi baru |
Detail Konstruktor
PublicClientApplication(Configuration)
Atribut penting dalam objek Konfigurasi untuk autentikasi adalah:
- clientID: ID aplikasi aplikasi Anda. Anda dapat memperolehnya dengan mendaftarkan aplikasi Anda dengan portal pendaftaran Aplikasi kami.
- otoritas: URL otoritas untuk aplikasi Anda.
Otoritas AAD berbentuk https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}.
- Jika aplikasi Anda mendukung Akun dalam satu direktori organisasi, ganti nilai "Enter_the_Tenant_Info_Here" dengan Id Penyewa atau Nama penyewa (misalnya, contoso.microsoft.com).
- Jika aplikasi Anda mendukung Akun di direktori organisasi apa pun, ganti nilai "Enter_the_Tenant_Info_Here" dengan organisasi.
- Jika aplikasi Anda mendukung Akun di direktori organisasi dan akun Microsoft pribadi, ganti nilai "Enter_the_Tenant_Info_Here" dengan umum.
- Untuk membatasi dukungan hanya untuk akun Microsoft Pribadi, ganti nilai "Enter_the_Tenant_Info_Here" dengan konsumen.
Azure otoritas B2C adalah formulir https://{instance}/{tenant}/{policy}. Setiap kebijakan dianggap sebagai otoritasnya sendiri. Anda harus mengatur semua knownAuthorities pada saat konstruksi aplikasi klien.
Otoritas ADFS adalah formulir https://{instance}/adfs.
new PublicClientApplication(configuration: Configuration)
Parameter
- configuration
- Configuration
Detail Metode
acquireTokenByDeviceCode(DeviceCodeRequest)
Memperoleh token dari otoritas menggunakan alur kode perangkat OAuth2.0. Alur ini dirancang untuk perangkat yang tidak memiliki akses ke browser atau memiliki batasan input. Server otorisasi mengeluarkan objek DeviceCode dengan kode verifikasi, kode pengguna akhir, dan URI verifikasi pengguna akhir. Objek DeviceCode disediakan melalui panggilan balik, dan pengguna akhir harus diinstruksikan untuk menggunakan perangkat lain untuk menavigasi ke URI verifikasi untuk memasukkan kredensial. Karena klien tidak dapat menerima permintaan masuk, klien melakukan polling pada server otorisasi berulang kali hingga pengguna akhir menyelesaikan input kredensial.
function acquireTokenByDeviceCode(request: DeviceCodeRequest): Promise<null | AuthenticationResult>
Parameter
- request
- DeviceCodeRequest
Mengembalikan
Promise<null | AuthenticationResult>
acquireTokenInteractive(InteractiveRequest)
Memperoleh token secara interaktif melalui browser dengan meminta kode otorisasi lalu menukarnya dengan token.
function acquireTokenInteractive(request: InteractiveRequest): Promise<AuthenticationResult>
Parameter
- request
- InteractiveRequest
Mengembalikan
Promise<AuthenticationResult>
acquireTokenSilent(SilentFlowRequest)
Mengembalikan token yang diambil baik dari cache atau dengan bertukar token refresh untuk token akses baru. Jika broker diaktifkan, permintaan token akan dilayankan oleh broker.
function acquireTokenSilent(request: SilentFlowRequest): Promise<AuthenticationResult>
Parameter
- request
- SilentFlowRequest
pengembang menyediakan SilentFlowRequest
Mengembalikan
Promise<AuthenticationResult>
getAllAccounts()
Mengembalikan semua akun cache untuk aplikasi ini. Jika broker diaktifkan, permintaan ini akan dilayankan oleh broker.
function getAllAccounts(): Promise<AccountInfo[]>
Mengembalikan
Promise<AccountInfo[]>
signOut(SignOutRequest)
Menghapus artefak cache yang terkait dengan akun yang diberikan
function signOut(request: SignOutRequest): Promise<void>
Parameter
- request
- SignOutRequest
pengembang menyediakan SignOutRequest
Mengembalikan
Promise<void>
Detail Metode yang Diwarisi
acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)
Memperoleh token dengan bertukar Kode Otorisasi yang diterima dari langkah pertama alur Kode Otorisasi OAuth2.0.
getAuthCodeUrl(AuthorizationCodeUrlRequest) dapat digunakan untuk membuat URL untuk langkah pertama alur Kode Otorisasi OAuth2.0. Pastikan bahwa nilai untuk redirectUri dan cakupan di AuthorizationCodeUrlRequest dan AuthorizationCodeRequest sama.
function acquireTokenByCode(request: AuthorizationCodeRequest, authCodePayLoad?: AuthorizationCodePayload): Promise<AuthenticationResult>
Parameter
- request
- AuthorizationCodeRequest
- authCodePayLoad
- AuthorizationCodePayload
Mengembalikan
Promise<AuthenticationResult>
Diwarisi DariClientApplication.acquireTokenByCode
acquireTokenByRefreshToken(RefreshTokenRequest)
Memperoleh token dengan bertukar token refresh yang disediakan untuk sekumpulan token baru.
API ini disediakan hanya untuk skenario di mana Anda ingin bermigrasi dari ADAL ke MSAL. Jika tidak, disarankan agar Anda menggunakan acquireTokenSilent() untuk skenario senyap. Saat menggunakan acquireTokenSilent(), MSAL akan menangani penembolokan dan refresh token secara otomatis.
function acquireTokenByRefreshToken(request: RefreshTokenRequest): Promise<null | AuthenticationResult>
Parameter
- request
- RefreshTokenRequest
Mengembalikan
Promise<null | AuthenticationResult>
Diwarisi DariClientApplication.acquireTokenByRefreshToken
acquireTokenByUsernamePassword(UsernamePasswordRequest)
Peringatan
API ini sudah tidak digunakan lagi.
- Use a more secure flow instead
Memperoleh token dengan pemberian kata sandi dengan bertukar nama pengguna dan kata sandi aplikasi klien untuk kredensial
Praktik Terbaik Keamanan OAuth 2.0 terbaru melarang pemberian kata sandi sepenuhnya. Detail selengkapnya tentang rekomendasi ini pada https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 dokumentasi dan rekomendasi Microsoft adalah di:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword
function acquireTokenByUsernamePassword(request: UsernamePasswordRequest): Promise<null | AuthenticationResult>
Parameter
- request
- UsernamePasswordRequest
UsenamePasswordRequest
Mengembalikan
Promise<null | AuthenticationResult>
Diwarisi DariClientApplication.acquireTokenByUsernamePassword
clearCache()
getAuthCodeUrl(AuthorizationUrlRequest)
Membuat URL permintaan otorisasi, membiarkan info masuk input pengguna dan menyetujui aplikasi. URL menargetkan titik akhir /otorisasi otoritas yang dikonfigurasi dalam objek aplikasi.
Setelah pengguna memasukkan kredensial dan persetujuan mereka, otoritas akan mengirim respons ke URI pengalihan yang dikirim dalam permintaan dan harus berisi kode otorisasi, yang kemudian dapat digunakan untuk memperoleh token melalui acquireTokenByCode(AuthorizationCodeRequest).
function getAuthCodeUrl(request: AuthorizationUrlRequest): Promise<string>
Parameter
- request
- AuthorizationUrlRequest
Mengembalikan
Promise<string>
Diwarisi DariClientApplication.getAuthCodeUrl
getLogger()
Mengembalikan instans pencatat
function getLogger(): Logger
Mengembalikan
Diwarisi DariClientApplication.getLogger
getTokenCache()
Mendapatkan cache token untuk aplikasi.
function getTokenCache(): TokenCache
Mengembalikan
Diwarisi DariClientApplication.getTokenCache
setLogger(Logger)
Mengganti kumpulan pencatat default dalam konfigurasi dengan Pencatat baru dengan konfigurasi baru
function setLogger(logger: Logger)
Parameter
- logger
- Logger
Instans pencatat
Diwarisi DariClientApplication.setLogger