ConfidentialClientApplication class
Kelas ini akan digunakan untuk memperoleh token untuk aplikasi klien rahasia (webApp, webAPI). Aplikasi klien rahasia akan mengonfigurasi rahasia aplikasi, sertifikat/pernyataan klien sebagaimana berlaku
- Memperluas
Konstruktor
| Confidential |
Konstruktor untuk ConfidentialClientApplication Atribut yang diperlukan dalam objek Konfigurasi adalah:
Dalam Azure AD, otoritas adalah URL yang menunjukkan formulir Dalam Azure B2C, otoritas adalah formulir https://{instance}/tfp/{tenant}/{policyName}/ Fungsionalitas B2C penuh akan tersedia di pustaka ini dalam versi mendatang. |
Metode
| acquire |
Memperoleh token dari otoritas untuk aplikasi (bukan untuk pengguna akhir). |
| acquire |
Memperoleh token dari otoritas untuk aplikasi. Digunakan dalam skenario di mana aplikasi saat ini adalah layanan tingkat menengah yang dipanggil dengan token yang mewakili pengguna akhir. Aplikasi saat ini dapat menggunakan token (oboAssertion) untuk meminta token lain untuk mengakses API web hilir, atas nama pengguna tersebut. Aplikasi tingkat menengah saat ini tidak memiliki interaksi pengguna untuk mendapatkan persetujuan. Lihat cara mendapatkan persetujuan di muka untuk aplikasi tingkat menengah Anda dari artikel ini. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application |
| Set |
Titik ekstensibilitas ini hanya berfungsi untuk alur client_credential, yaitu acquireTokenByClientCredential dan dimaksudkan untuk Azure SDK untuk meningkatkan dukungan Identitas Terkelola. |
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 |
| acquire |
Memperoleh token secara diam-diam ketika pengguna menentukan akun yang diminta token. API ini mengharapkan pengguna untuk menyediakan objek akun dan melihat ke cache untuk mengambil token jika ada.
Ada juga boolean "forceRefresh" opsional yang dapat dikirim pengguna untuk melewati cache untuk access_token dan id_token.
Jika refresh_token kedaluwarsa atau tidak ditemukan, kesalahan dilemparkan dan panduannya adalah agar pengguna memanggil API akuisisi token interaktif (misalnya: |
| 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
ConfidentialClientApplication(Configuration)
Konstruktor untuk ConfidentialClientApplication
Atribut yang diperlukan dalam objek Konfigurasi adalah:
- clientID: ID aplikasi aplikasi Anda. Anda dapat memperolehnya dengan mendaftarkan aplikasi Anda dengan portal pendaftaran aplikasi kami
- otoritas: URL otoritas untuk aplikasi Anda.
- kredensial klien: Harus mengatur rahasia klien, sertifikat, atau pernyataan untuk klien rahasia. Anda dapat memperoleh rahasia klien dari portal pendaftaran aplikasi.
Dalam Azure AD, otoritas adalah URL yang menunjukkan formulir 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.
Dalam Azure B2C, otoritas adalah formulir https://{instance}/tfp/{tenant}/{policyName}/ Fungsionalitas B2C penuh akan tersedia di pustaka ini dalam versi mendatang.
new ConfidentialClientApplication(configuration: Configuration)
Parameter
- configuration
- Configuration
Detail Metode
acquireTokenByClientCredential(ClientCredentialRequest)
Memperoleh token dari otoritas untuk aplikasi (bukan untuk pengguna akhir).
function acquireTokenByClientCredential(request: ClientCredentialRequest): Promise<null | AuthenticationResult>
Parameter
- request
- ClientCredentialRequest
Mengembalikan
Promise<null | AuthenticationResult>
acquireTokenOnBehalfOf(OnBehalfOfRequest)
Memperoleh token dari otoritas untuk aplikasi.
Digunakan dalam skenario di mana aplikasi saat ini adalah layanan tingkat menengah yang dipanggil dengan token yang mewakili pengguna akhir. Aplikasi saat ini dapat menggunakan token (oboAssertion) untuk meminta token lain untuk mengakses API web hilir, atas nama pengguna tersebut.
Aplikasi tingkat menengah saat ini tidak memiliki interaksi pengguna untuk mendapatkan persetujuan. Lihat cara mendapatkan persetujuan di muka untuk aplikasi tingkat menengah Anda dari artikel ini. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application
function acquireTokenOnBehalfOf(request: OnBehalfOfRequest): Promise<null | AuthenticationResult>
Parameter
- request
- OnBehalfOfRequest
Mengembalikan
Promise<null | AuthenticationResult>
SetAppTokenProvider(IAppTokenProvider)
Titik ekstensibilitas ini hanya berfungsi untuk alur client_credential, yaitu acquireTokenByClientCredential dan dimaksudkan untuk Azure SDK untuk meningkatkan dukungan Identitas Terkelola.
function SetAppTokenProvider(provider: IAppTokenProvider)
Parameter
- provider
- IAppTokenProvider
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
acquireTokenSilent(SilentFlowRequest)
Memperoleh token secara diam-diam ketika pengguna menentukan akun yang diminta token.
API ini mengharapkan pengguna untuk menyediakan objek akun dan melihat ke cache untuk mengambil token jika ada.
Ada juga boolean "forceRefresh" opsional yang dapat dikirim pengguna untuk melewati cache untuk access_token dan id_token.
Jika refresh_token kedaluwarsa atau tidak ditemukan, kesalahan dilemparkan dan panduannya adalah agar pengguna memanggil API akuisisi token interaktif (misalnya: acquireTokenByCode()).
function acquireTokenSilent(request: SilentFlowRequest): Promise<AuthenticationResult>
Parameter
- request
- SilentFlowRequest
Mengembalikan
Promise<AuthenticationResult>
Diwarisi dariClientApplication.acquireTokenSilent
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