PublicClientApplication class
Kelas PublicClientApplication adalah objek yang diekspos oleh pustaka untuk melakukan fungsi autentikasi dan otorisasi di Aplikasi Halaman Tunggal untuk mendapatkan token JWT seperti yang dijelaskan dalam Alur Kode Otorisasi OAuth 2.0 dengan spesifikasi PKCE.
Metode
| acquire |
Fungsi ini menukarkan kode otorisasi (diteruskan sebagai kode) dari titik akhir token eSTS. Kode otorisasi ini harus diperoleh sisi server menggunakan klien rahasia untuk memperoleh spa_code. API ini tidak ditambahkan untuk akuisisi dan penukaran kode otorisasi normal. Penukaran kode otorisasi ini tidak akan memerlukan PKCE, karena diperoleh oleh klien rahasia. |
| acquire |
Gunakan saat Anda ingin mendapatkan access_token untuk API Anda melalui membuka jendela popup di browser pengguna |
| acquire |
Gunakan saat Anda ingin mendapatkan access_token untuk API Anda dengan mengalihkan jendela browser pengguna ke titik akhir otorisasi. Fungsi ini mengalihkan halaman, sehingga kode apa pun yang mengikuti fungsi ini tidak akan dijalankan. PENTING: TIDAK disarankan untuk memiliki kode yang bergantung pada resolusi Janji. Fungsi ini akan menavigasi jauh dari jendela browser saat ini. Saat ini mengembalikan Promise untuk mencerminkan sifat asinkron dari kode yang berjalan dalam fungsi ini. |
| acquire |
Secara diam-diam memperoleh token akses untuk serangkaian cakupan tertentu. Mengembalikan janji pemrosesan saat ini jika permintaan paralel dibuat. |
| add |
Menambahkan panggilan balik peristiwa ke array |
| add |
Mendaftarkan panggilan balik untuk menerima peristiwa performa. |
| clear |
Menghapus token dan akun dari cache browser. |
| create |
Membuat StandardController dan meneruskannya ke PublicClientApplication |
| disable |
Menghapus pendengar peristiwa yang memancarkan peristiwa saat akun pengguna ditambahkan atau dihapus dari localstorage di tab atau jendela browser yang berbeda |
| enable |
Menambahkan pendengar peristiwa yang memancarkan peristiwa saat akun pengguna ditambahkan atau dihapus dari localstorage di tab atau jendela browser yang berbeda |
| get |
Mengembalikan akun pertama yang ditemukan di cache yang cocok dengan filter akun yang diteruskan. |
| get |
Mengembalikan akun masuk yang cocok dengan homeAccountId. (objek akun dibuat pada saat berhasil masuk) atau null ketika tidak ada akun yang cocok yang ditemukan |
| get |
Mengembalikan akun masuk yang cocok dengan localAccountId. (objek akun dibuat pada saat berhasil masuk) atau null ketika tidak ada akun yang cocok yang ditemukan |
| get |
Mengembalikan nama pengguna pencocokan akun yang masuk. (objek akun dibuat pada saat berhasil masuk) atau null ketika tidak ada akun yang cocok yang ditemukan. API ini disediakan untuk kenyamanan tetapi getAccountById harus digunakan untuk keandalan terbaik |
| get |
Mendapatkan akun yang saat ini aktif |
| get |
Mengembalikan semua akun dalam cache yang cocok dengan filter opsional. Jika tidak ada filter yang disediakan, semua akun dikembalikan. |
| get |
Mengembalikan instans pencatat |
| get |
Mendapatkan cache token untuk aplikasi. |
| handle |
Fungsi penanganan aktivitas yang memungkinkan pengguna untuk mengaktifkan peristiwa setelah objek PublicClientApplication dimuat selama alur pengalihan. Ini harus dipanggil pada semua pemuatan halaman yang terlibat dalam alur autentikasi pengalihan. |
| hydrate |
Menghidrasi cache dengan token dan akun di objek AuthenticationResult |
| initialize(Initialize |
Fungsi initializer untuk melakukan tugas startup asinkron seperti menyambungkan ke ekstensi WAM |
| initialize |
Dipanggil oleh pustaka pembungkus (Angular &React) untuk mengatur SKU dan Versi yang diteruskan ke telemetri, pencatat, dll. |
| login |
Gunakan saat memulai proses masuk melalui membuka jendela popup di browser pengguna |
| login |
Gunakan saat memulai proses masuk dengan mengalihkan browser pengguna ke titik akhir otorisasi. Fungsi ini mengalihkan halaman, sehingga kode apa pun yang mengikuti fungsi ini tidak akan dijalankan. PENTING: TIDAK disarankan untuk memiliki kode yang bergantung pada resolusi Janji. Fungsi ini akan menavigasi jauh dari jendela browser saat ini. Saat ini mengembalikan Promise untuk mencerminkan sifat asinkron dari kode yang berjalan dalam fungsi ini. |
| logout(End |
Fungsi keluar yang tidak digunakan lagi. Gunakan logoutRedirect atau logoutPopup sebagai gantinya |
| logout |
Menghapus cache lokal untuk pengguna saat ini lalu membuka jendela popup yang meminta pengguna untuk keluar dari server |
| logout |
Gunakan untuk keluar dari pengguna saat ini, dan alihkan pengguna ke postLogoutRedirectUri.
Perilaku default adalah mengalihkan pengguna ke |
| remove |
Menghapus panggilan balik dengan id yang disediakan dari array panggilan balik |
| remove |
Menghapus panggilan balik yang terdaftar dengan addPerformanceCallback. |
| set |
Mengatur akun yang akan digunakan sebagai akun aktif. Jika tidak ada akun yang diteruskan ke API acquireToken, maka MSAL akan menggunakan akun aktif ini. |
| set |
Mengganti kumpulan pencatat default dalam konfigurasi dengan Pencatat baru dengan konfigurasi baru |
| set |
Mengatur klien navigasi |
| sso |
Fungsi ini menggunakan iframe tersembunyi untuk mengambil kode otorisasi dari eSTS. Ada kasus di mana ini mungkin tidak berfungsi:
Dalam kasus ini, permintaan harus dilakukan di dalam popup atau pengalihan bingkai penuh. Untuk kasus di mana interaksi diperlukan, Anda tidak dapat mengirim permintaan dengan prompt=none. Jika token refresh Anda telah kedaluwarsa, Anda dapat menggunakan fungsi ini untuk mengambil sekumpulan token baru secara diam-diam selama sesi Anda di server masih ada. |
Detail Konstruktor
PublicClientApplication(Configuration, IController)
new PublicClientApplication(configuration: Configuration, controller?: IController)
Parameter
- configuration
- Configuration
Objek untuk instans MSAL PublicClientApplication
- controller
- IController
Detail Metode
acquireTokenByCode(AuthorizationCodeRequest)
Fungsi ini menukarkan kode otorisasi (diteruskan sebagai kode) dari titik akhir token eSTS. Kode otorisasi ini harus diperoleh sisi server menggunakan klien rahasia untuk memperoleh spa_code. API ini tidak ditambahkan untuk akuisisi dan penukaran kode otorisasi normal.
Penukaran kode otorisasi ini tidak akan memerlukan PKCE, karena diperoleh oleh klien rahasia.
function acquireTokenByCode(request: AuthorizationCodeRequest): Promise<AuthenticationResult>
Parameter
Mengembalikan
Promise<AuthenticationResult>
Janji yang terpenuhi ketika fungsi ini telah selesai, atau ditolak jika kesalahan dimunculkan.
acquireTokenPopup(PopupRequest)
Gunakan saat Anda ingin mendapatkan access_token untuk API Anda melalui membuka jendela popup di browser pengguna
function acquireTokenPopup(request: PopupRequest): Promise<AuthenticationResult>
Parameter
- request
- PopupRequest
Mengembalikan
Promise<AuthenticationResult>
Janji yang terpenuhi ketika fungsi ini telah selesai, atau ditolak jika kesalahan dimunculkan.
acquireTokenRedirect(RedirectRequest)
Gunakan saat Anda ingin mendapatkan access_token untuk API Anda dengan mengalihkan jendela browser pengguna ke titik akhir otorisasi. Fungsi ini mengalihkan halaman, sehingga kode apa pun yang mengikuti fungsi ini tidak akan dijalankan.
PENTING: TIDAK disarankan untuk memiliki kode yang bergantung pada resolusi Janji. Fungsi ini akan menavigasi jauh dari jendela browser saat ini. Saat ini mengembalikan Promise untuk mencerminkan sifat asinkron dari kode yang berjalan dalam fungsi ini.
function acquireTokenRedirect(request: RedirectRequest): Promise<void>
Parameter
- request
- RedirectRequest
Mengembalikan
Promise<void>
acquireTokenSilent(SilentRequest)
Secara diam-diam memperoleh token akses untuk serangkaian cakupan tertentu. Mengembalikan janji pemrosesan saat ini jika permintaan paralel dibuat.
function acquireTokenSilent(silentRequest: SilentRequest): Promise<AuthenticationResult>
Parameter
- silentRequest
- SilentRequest
Mengembalikan
Promise<AuthenticationResult>
- janji yang terpenuhi ketika fungsi ini telah selesai, atau ditolak jika kesalahan dimunculkan. Mengembalikan objek AuthenticationResult
addEventCallback(EventCallbackFunction, EventType[])
Menambahkan panggilan balik peristiwa ke array
function addEventCallback(callback: EventCallbackFunction, eventTypes?: EventType[]): null | string
Parameter
- callback
- EventCallbackFunction
- eventTypes
Mengembalikan
null | string
addPerformanceCallback(PerformanceCallbackFunction)
Mendaftarkan panggilan balik untuk menerima peristiwa performa.
function addPerformanceCallback(callback: PerformanceCallbackFunction): string
Parameter
- callback
- PerformanceCallbackFunction
Mengembalikan
string
clearCache(ClearCacheRequest)
Menghapus token dan akun dari cache browser.
function clearCache(logoutRequest?: ClearCacheRequest): Promise<void>
Parameter
- logoutRequest
- ClearCacheRequest
Mengembalikan
Promise<void>
createPublicClientApplication(Configuration)
Membuat StandardController dan meneruskannya ke PublicClientApplication
static function createPublicClientApplication(configuration: Configuration): Promise<IPublicClientApplication>
Parameter
- configuration
- Configuration
{Configuration}
Mengembalikan
Promise<IPublicClientApplication>
disableAccountStorageEvents()
Menghapus pendengar peristiwa yang memancarkan peristiwa saat akun pengguna ditambahkan atau dihapus dari localstorage di tab atau jendela browser yang berbeda
function disableAccountStorageEvents()
enableAccountStorageEvents()
Menambahkan pendengar peristiwa yang memancarkan peristiwa saat akun pengguna ditambahkan atau dihapus dari localstorage di tab atau jendela browser yang berbeda
function enableAccountStorageEvents()
getAccount(AccountFilter)
Mengembalikan akun pertama yang ditemukan di cache yang cocok dengan filter akun yang diteruskan.
function getAccount(accountFilter: AccountFilter): null | AccountInfo
Parameter
- accountFilter
- AccountFilter
Mengembalikan
null | AccountInfo
Akun pertama yang ditemukan di cache yang cocok dengan filter yang disediakan atau null jika tidak ada akun yang dapat ditemukan.
getAccountByHomeId(string)
Peringatan
API ini sudah tidak digunakan lagi.
- Use getAccount instead
Mengembalikan akun masuk yang cocok dengan homeAccountId. (objek akun dibuat pada saat berhasil masuk) atau null ketika tidak ada akun yang cocok yang ditemukan
function getAccountByHomeId(homeAccountId: string): null | AccountInfo
Parameter
- homeAccountId
-
string
Mengembalikan
null | AccountInfo
Objek akun yang disimpan di MSAL
getAccountByLocalId(string)
Peringatan
API ini sudah tidak digunakan lagi.
- Use getAccount instead
Mengembalikan akun masuk yang cocok dengan localAccountId. (objek akun dibuat pada saat berhasil masuk) atau null ketika tidak ada akun yang cocok yang ditemukan
function getAccountByLocalId(localId: string): null | AccountInfo
Parameter
- localId
-
string
Mengembalikan
null | AccountInfo
Objek akun yang disimpan di MSAL
getAccountByUsername(string)
Peringatan
API ini sudah tidak digunakan lagi.
- Use getAccount instead
Mengembalikan nama pengguna pencocokan akun yang masuk. (objek akun dibuat pada saat berhasil masuk) atau null ketika tidak ada akun yang cocok yang ditemukan. API ini disediakan untuk kenyamanan tetapi getAccountById harus digunakan untuk keandalan terbaik
function getAccountByUsername(userName: string): null | AccountInfo
Parameter
- userName
-
string
Mengembalikan
null | AccountInfo
Objek akun yang disimpan di MSAL
getActiveAccount()
Mendapatkan akun yang saat ini aktif
function getActiveAccount(): null | AccountInfo
Mengembalikan
null | AccountInfo
getAllAccounts(AccountFilter)
Mengembalikan semua akun dalam cache yang cocok dengan filter opsional. Jika tidak ada filter yang disediakan, semua akun dikembalikan.
function getAllAccounts(accountFilter?: AccountFilter): AccountInfo[]
Parameter
- accountFilter
- AccountFilter
Filter (Opsional) untuk mempersempit akun yang dikembalikan
Mengembalikan
Array objek AccountInfo dalam cache
getLogger()
getTokenCache()
Mendapatkan cache token untuk aplikasi.
function getTokenCache(): ITokenCache
Mengembalikan
handleRedirectPromise(string)
Fungsi penanganan aktivitas yang memungkinkan pengguna untuk mengaktifkan peristiwa setelah objek PublicClientApplication dimuat selama alur pengalihan. Ini harus dipanggil pada semua pemuatan halaman yang terlibat dalam alur autentikasi pengalihan.
function handleRedirectPromise(hash?: string): Promise<null | AuthenticationResult>
Parameter
- hash
-
string
Hash untuk diproses. Default ke nilai window.location.hash saat ini. Hanya perlu disediakan secara eksplisit jika respons yang akan ditangani tidak terkandung dalam nilai saat ini.
Mengembalikan
Promise<null | AuthenticationResult>
Respons token atau null. Jika nilai yang dikembalikan null, maka tidak ada pengalihan autentikasi yang terdeteksi.
hydrateCache(AuthenticationResult, PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)
Menghidrasi cache dengan token dan akun di objek AuthenticationResult
function hydrateCache(result: AuthenticationResult, request: PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>): Promise<void>
Parameter
- result
- AuthenticationResult
- request
-
PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>
Objek permintaan yang digunakan untuk mendapatkan AuthenticationResult
Mengembalikan
Promise<void>
initialize(InitializeApplicationRequest)
Fungsi initializer untuk melakukan tugas startup asinkron seperti menyambungkan ke ekstensi WAM
function initialize(request?: InitializeApplicationRequest): Promise<void>
Parameter
- request
- InitializeApplicationRequest
{? InitializeApplicationRequest}
Mengembalikan
Promise<void>
initializeWrapperLibrary(WrapperSKU, string)
Dipanggil oleh pustaka pembungkus (Angular &React) untuk mengatur SKU dan Versi yang diteruskan ke telemetri, pencatat, dll.
function initializeWrapperLibrary(sku: WrapperSKU, version: string)
Parameter
- sku
- WrapperSKU
- version
-
string
loginPopup(PopupRequest)
Gunakan saat memulai proses masuk melalui membuka jendela popup di browser pengguna
function loginPopup(request?: PopupRequest): Promise<AuthenticationResult>
Parameter
- request
- PopupRequest
Mengembalikan
Promise<AuthenticationResult>
Janji yang terpenuhi ketika fungsi ini telah selesai, atau ditolak jika kesalahan dimunculkan.
loginRedirect(RedirectRequest)
Gunakan saat memulai proses masuk dengan mengalihkan browser pengguna ke titik akhir otorisasi. Fungsi ini mengalihkan halaman, sehingga kode apa pun yang mengikuti fungsi ini tidak akan dijalankan.
PENTING: TIDAK disarankan untuk memiliki kode yang bergantung pada resolusi Janji. Fungsi ini akan menavigasi jauh dari jendela browser saat ini. Saat ini mengembalikan Promise untuk mencerminkan sifat asinkron dari kode yang berjalan dalam fungsi ini.
function loginRedirect(request?: RedirectRequest): Promise<void>
Parameter
- request
- RedirectRequest
Mengembalikan
Promise<void>
logout(EndSessionRequest)
Peringatan
API ini sudah tidak digunakan lagi.
Fungsi keluar yang tidak digunakan lagi. Gunakan logoutRedirect atau logoutPopup sebagai gantinya
function logout(logoutRequest?: EndSessionRequest): Promise<void>
Parameter
- logoutRequest
- EndSessionRequest
Mengembalikan
Promise<void>
logoutPopup(EndSessionPopupRequest)
Menghapus cache lokal untuk pengguna saat ini lalu membuka jendela popup yang meminta pengguna untuk keluar dari server
function logoutPopup(logoutRequest?: EndSessionPopupRequest): Promise<void>
Parameter
- logoutRequest
- EndSessionPopupRequest
Mengembalikan
Promise<void>
logoutRedirect(EndSessionRequest)
Gunakan untuk keluar dari pengguna saat ini, dan alihkan pengguna ke postLogoutRedirectUri.
Perilaku default adalah mengalihkan pengguna ke window.location.href.
function logoutRedirect(logoutRequest?: EndSessionRequest): Promise<void>
Parameter
- logoutRequest
- EndSessionRequest
Mengembalikan
Promise<void>
removeEventCallback(string)
Menghapus panggilan balik dengan id yang disediakan dari array panggilan balik
function removeEventCallback(callbackId: string)
Parameter
- callbackId
-
string
removePerformanceCallback(string)
Menghapus panggilan balik yang terdaftar dengan addPerformanceCallback.
function removePerformanceCallback(callbackId: string): boolean
Parameter
- callbackId
-
string
Mengembalikan
boolean
setActiveAccount(null | AccountInfo)
Mengatur akun yang akan digunakan sebagai akun aktif. Jika tidak ada akun yang diteruskan ke API acquireToken, maka MSAL akan menggunakan akun aktif ini.
function setActiveAccount(account: null | AccountInfo)
Parameter
- account
-
null | AccountInfo
setLogger(Logger)
Mengganti kumpulan pencatat default dalam konfigurasi dengan Pencatat baru dengan konfigurasi baru
function setLogger(logger: Logger)
Parameter
- logger
- Logger
Instans pencatat
setNavigationClient(INavigationClient)
Mengatur klien navigasi
function setNavigationClient(navigationClient: INavigationClient)
Parameter
- navigationClient
- INavigationClient
ssoSilent(Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)
Fungsi ini menggunakan iframe tersembunyi untuk mengambil kode otorisasi dari eSTS. Ada kasus di mana ini mungkin tidak berfungsi:
- Browser apa pun yang menggunakan bentuk Pencegahan Pelacakan Cerdas
- Jika tidak ada sesi yang ditetapkan dengan layanan
Dalam kasus ini, permintaan harus dilakukan di dalam popup atau pengalihan bingkai penuh.
Untuk kasus di mana interaksi diperlukan, Anda tidak dapat mengirim permintaan dengan prompt=none.
Jika token refresh Anda telah kedaluwarsa, Anda dapat menggunakan fungsi ini untuk mengambil sekumpulan token baru secara diam-diam selama sesi Anda di server masih ada.
function ssoSilent(request: Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>): Promise<AuthenticationResult>
Parameter
- request
-
Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>
Mengembalikan
Promise<AuthenticationResult>
Janji yang terpenuhi ketika fungsi ini telah selesai, atau ditolak jika kesalahan dimunculkan.