CustomAuthPublicClientApplication class
- Extends
-
PublicClientApplication
方法
| create(Custom |
建立一個新的 PublicClientApplication 實例,使用指定設定與控制器啟動原生認證流程 |
| get |
從瀏覽器快取取得目前帳號。 |
| reset |
啟動重設密碼流程。 此方法會觸發額外的動作(提交代碼)以完成重置密碼。 如果有任何例外拋出,請建立包含錯誤細節的結果。 |
| sign |
啟動簽到流程。 此方法會導致登入完成,或是完成登入所需的額外動作(密碼、程式碼等)。 如果有任何例外拋出,請建立包含錯誤細節的結果。 |
| sign |
啟動報名流程。 此方法會導致註冊完成,或需額外操作(密碼、代碼等)才能完成註冊。 如果有任何例外拋出,請建立包含錯誤細節的結果。 |
繼承的方法
| acquire |
此函式會從 eSTS 代幣端點兌換授權碼(以代碼形式傳遞)。 此授權碼應透過伺服器端的機密用戶端取得,以取得spa_code。 此 API 不適用於一般授權碼的取得與兌換。 兌換此授權碼不需 PKCE,因為該授權碼是由機密客戶取得的。 |
| acquire |
當你想透過使用者瀏覽器中的彈出視窗取得 API 的 access_token 時使用。 |
| acquire |
當你想透過將使用者的瀏覽器視窗導向到授權端點來取得 API 的access_token時,可以使用這個工具。 這個函式會重新導向頁面,因此跟隨這個函式的程式碼將無法執行。 重要提示:不建議使用依賴於承諾解析的程式碼。 這個功能會從目前的瀏覽器視窗中自動移動。 目前它會回傳一個 Promise,以反映此函式中執行的程式碼非同步特性。 |
| acquire |
靜默取得給定範圍的存取權杖。 如果有平行請求,則會回傳目前正在處理承諾。 |
| add |
新增事件回調到 array |
| add |
註冊回撥以接收效能事件。 |
| clear |
清除瀏覽器快取中的代幣和帳號。 |
| create |
建立 StandardController 並將其傳達給 PublicClientApplication |
| disable |
移除當使用者帳號在不同瀏覽器分頁或視窗中從 localstorage 新增或移除時會發出事件的事件監聽器 |
| enable |
新增事件監聽器,當使用者帳號在不同瀏覽器分頁或視窗中新增或移除 localstorage 時,會發出事件 |
| get |
回傳快取中第一個符合已輸入帳戶過濾器的帳號。 |
| get |
回傳已登入的帳號,與 homeAccountId 相符。 (帳號物件在成功登入時建立)或當找不到匹配帳號時為空 |
| get |
會回傳與 localAccountID 相符的登入帳號。 (帳號物件在成功登入時建立)或當找不到匹配帳號時為空 |
| get |
會回傳已登入帳號的對應使用者名稱。 (帳號物件會在成功登入時建立)或在找不到匹配帳號時為空。 此 API 是為了方便而提供,但為了最佳可靠性,應使用 getAccountById |
| get |
取得目前活躍的帳號 |
| get |
回傳快取中所有符合可選篩選器的帳號。 若未提供過濾器,所有帳號都會被歸還。 |
| get |
回傳記錄器實例 |
| get |
取得應用程式的標記快取。 |
| handle |
事件處理程式功能,允許使用者在 PublicClientApplication 物件載入後,於重定向流程中觸發事件。 所有涉及重定向認證流程的頁面載入時,都應啟動此功能。 |
| hydrate |
Hydrates 將憑證和帳號存放在 AuthenticationResult 物件中 |
| initialize(Initialize |
初始化器函式用於執行非同步啟動任務,例如連接 WAM 擴充功能 |
| initialize |
由包裝函式庫(Angular 和 React)呼叫,設定 SKU 和版本,並傳給遙測、記錄器等。 |
| login |
在啟動登入流程時,透過在使用者瀏覽器中開啟彈出視窗 |
| login |
在啟動登入流程時,透過將使用者的瀏覽器導向到授權端點來使用。 這個函式會重新導向頁面,因此跟隨這個函式的程式碼將無法執行。 重要提示:不建議使用依賴於承諾解析的程式碼。 這個功能會從目前的瀏覽器視窗中自動移動。 目前它會回傳一個 Promise,以反映此函式中執行的程式碼非同步特性。 |
| logout(End |
已棄用登出功能。 改用 logoutRedirect 或 logoutPopup |
| logout |
清除目前使用者的本地快取,然後打開彈出視窗,提示使用者登出伺服器 |
| logout |
用來登出目前使用者,並將使用者重新導向到 postLogoutRedirectUri。
預設行為是將使用者重新導向至 |
| remove |
從回調陣列中移除帶有 id 的回撥 |
| remove |
移除以 addPerformanceCallback 註冊的回撥。 |
| set |
設定帳號作為有效帳號使用。 若未將帳號傳入 acquireToken API,MSAL 將使用該啟用帳號。 |
| set |
將設定中的預設記錄器替換為新的記錄器,並有新的設定 |
| set |
Sets 導航客戶端 |
| sso |
此功能利用隱藏的 iframe 從 eSTS 取得授權碼。 有些情況下,這方法可能無法奏效:
在這些情況下,請求必須透過彈出視窗或全畫面重定向來完成。 在需要互動的情況下,不能發送提示=無的請求。 如果你的刷新權杖已經過期,只要伺服器上的工作還存在,你可以用這個函式靜默地取得一組新的權杖。 |
方法詳細資料
create(CustomAuthConfiguration)
建立一個新的 PublicClientApplication 實例,使用指定設定與控制器啟動原生認證流程
static function create(config: CustomAuthConfiguration): Promise<ICustomAuthPublicClientApplication>
參數
- config
- CustomAuthConfiguration
PublicClientApplication 實例的設定物件
傳回
Promise<ICustomAuthPublicClientApplication>
- 一個承諾解析為 CustomAuthPublicClientApplication 實例
getCurrentAccount(CustomAuthActionInputs)
從瀏覽器快取取得目前帳號。
function getCurrentAccount(accountRetrievalInputs?: CustomAuthActionInputs): GetAccountResult
參數
- accountRetrievalInputs
-
CustomAuthActionInputs
傳回
- 取得帳戶操作的結果
resetPassword(ResetPasswordInputs)
啟動重設密碼流程。 此方法會觸發額外的動作(提交代碼)以完成重置密碼。 如果有任何例外拋出,請建立包含錯誤細節的結果。
function resetPassword(resetPasswordInputs: ResetPasswordInputs): Promise<ResetPasswordStartResult>
參數
- resetPasswordInputs
- ResetPasswordInputs
重設密碼流程的輸入
傳回
Promise<ResetPasswordStartResult>
- 一個承諾,解析為 ResetPasswordStartResult
signIn(SignInInputs)
啟動簽到流程。 此方法會導致登入完成,或是完成登入所需的額外動作(密碼、程式碼等)。 如果有任何例外拋出,請建立包含錯誤細節的結果。
function signIn(signInInputs: SignInInputs): Promise<SignInResult>
參數
- signInInputs
- SignInInputs
登入流程的輸入
傳回
Promise<SignInResult>
- 一個承諾,目標是 SignInResult
signUp(SignUpInputs)
啟動報名流程。 此方法會導致註冊完成,或需額外操作(密碼、代碼等)才能完成註冊。 如果有任何例外拋出,請建立包含錯誤細節的結果。
function signUp(signUpInputs: SignUpInputs): Promise<SignUpResult>
參數
- signUpInputs
- SignUpInputs
傳回
Promise<SignUpResult>
- 一個承諾,承諾是 SignUpResult
繼承的方法的詳細資料
acquireTokenByCode(AuthorizationCodeRequest)
此函式會從 eSTS 代幣端點兌換授權碼(以代碼形式傳遞)。 此授權碼應透過伺服器端的機密用戶端取得,以取得spa_code。 此 API 不適用於一般授權碼的取得與兌換。
兌換此授權碼不需 PKCE,因為該授權碼是由機密客戶取得的。
function acquireTokenByCode(request: AuthorizationCodeRequest): Promise<AuthenticationResult>
參數
- request
-
AuthorizationCodeRequest
傳回
Promise<AuthenticationResult>
當此功能完成時承諾會被履行;若提出錯誤則被拒絕。
繼承自 PublicClientApplication.acquireTokenByCode
acquireTokenPopup(PopupRequest)
當你想透過使用者瀏覽器中的彈出視窗取得 API 的 access_token 時使用。
function acquireTokenPopup(request: PopupRequest): Promise<AuthenticationResult>
參數
- request
-
PopupRequest
傳回
Promise<AuthenticationResult>
當此功能完成時承諾會被履行;若提出錯誤則被拒絕。
繼承自 PublicClientApplication.acquireTokenPopup
acquireTokenRedirect(RedirectRequest)
當你想透過將使用者的瀏覽器視窗導向到授權端點來取得 API 的access_token時,可以使用這個工具。 這個函式會重新導向頁面,因此跟隨這個函式的程式碼將無法執行。
重要提示:不建議使用依賴於承諾解析的程式碼。 這個功能會從目前的瀏覽器視窗中自動移動。 目前它會回傳一個 Promise,以反映此函式中執行的程式碼非同步特性。
function acquireTokenRedirect(request: RedirectRequest): Promise<void>
參數
- request
-
RedirectRequest
傳回
Promise<void>
繼承自 PublicClientApplication.acquireTokenRedirect
acquireTokenSilent(SilentRequest)
靜默取得給定範圍的存取權杖。 如果有平行請求,則會回傳目前正在處理承諾。
function acquireTokenSilent(silentRequest: SilentRequest): Promise<AuthenticationResult>
參數
- silentRequest
-
SilentRequest
傳回
Promise<AuthenticationResult>
- 當此功能完成時承諾會被履行,若產生錯誤則被拒絕。 回傳物件AuthenticationResult
繼承自 PublicClientApplication.acquireTokenSilent
addEventCallback(EventCallbackFunction, EventType[])
新增事件回調到 array
function addEventCallback(callback: EventCallbackFunction, eventTypes?: EventType[]): null | string
參數
- callback
-
EventCallbackFunction
- eventTypes
-
EventType[]
傳回
null | string
繼承自 PublicClientApplication.addEventCallback
addPerformanceCallback(PerformanceCallbackFunction)
註冊回撥以接收效能事件。
function addPerformanceCallback(callback: PerformanceCallbackFunction): string
參數
- callback
- PerformanceCallbackFunction
傳回
string
繼承自 PublicClientApplication.addPerformanceCallback
clearCache(ClearCacheRequest)
清除瀏覽器快取中的代幣和帳號。
function clearCache(logoutRequest?: ClearCacheRequest): Promise<void>
參數
- logoutRequest
-
ClearCacheRequest
傳回
Promise<void>
繼承自 PublicClientApplication.clearCache
createPublicClientApplication(Configuration)
建立 StandardController 並將其傳達給 PublicClientApplication
static function createPublicClientApplication(configuration: Configuration): Promise<IPublicClientApplication>
參數
- configuration
-
Configuration
{配置}
傳回
Promise<IPublicClientApplication>
繼承自 PublicClientApplication.createPublicClientApplication
disableAccountStorageEvents()
移除當使用者帳號在不同瀏覽器分頁或視窗中從 localstorage 新增或移除時會發出事件的事件監聽器
function disableAccountStorageEvents()
繼承自 PublicClientApplication.disableAccountStorageEvents
enableAccountStorageEvents()
新增事件監聽器,當使用者帳號在不同瀏覽器分頁或視窗中新增或移除 localstorage 時,會發出事件
function enableAccountStorageEvents()
繼承自 PublicClientApplication.enableAccountStorageEvents
getAccount(AccountFilter)
回傳快取中第一個符合已輸入帳戶過濾器的帳號。
function getAccount(accountFilter: AccountFilter): null | AccountInfo
參數
- accountFilter
- AccountFilter
傳回
null | AccountInfo
快取中第一個符合所提供過濾器的帳號,若找不到則為空。
繼承自 PublicClientApplication.getAccount
getAccountByHomeId(string)
警告
此 API 現已淘汰。
- Use getAccount instead
回傳已登入的帳號,與 homeAccountId 相符。 (帳號物件在成功登入時建立)或當找不到匹配帳號時為空
function getAccountByHomeId(homeAccountId: string): null | AccountInfo
參數
- homeAccountId
-
string
傳回
null | AccountInfo
MSAL 中儲存的帳號物件
繼承自 PublicClientApplication.getAccountByHomeId
getAccountByLocalId(string)
警告
此 API 現已淘汰。
- Use getAccount instead
會回傳與 localAccountID 相符的登入帳號。 (帳號物件在成功登入時建立)或當找不到匹配帳號時為空
function getAccountByLocalId(localId: string): null | AccountInfo
參數
- localId
-
string
傳回
null | AccountInfo
MSAL 中儲存的帳號物件
繼承自 PublicClientApplication.getAccountByLocalId
getAccountByUsername(string)
警告
此 API 現已淘汰。
- Use getAccount instead
會回傳已登入帳號的對應使用者名稱。 (帳號物件會在成功登入時建立)或在找不到匹配帳號時為空。 此 API 是為了方便而提供,但為了最佳可靠性,應使用 getAccountById
function getAccountByUsername(userName: string): null | AccountInfo
參數
- userName
-
string
傳回
null | AccountInfo
MSAL 中儲存的帳號物件
繼承自 PublicClientApplication.getAccountByUsername
getActiveAccount()
取得目前活躍的帳號
function getActiveAccount(): null | AccountInfo
傳回
null | AccountInfo
繼承自 PublicClientApplication.getActiveAccount
getAllAccounts(AccountFilter)
回傳快取中所有符合可選篩選器的帳號。 若未提供過濾器,所有帳號都會被歸還。
function getAllAccounts(accountFilter?: AccountFilter): AccountInfo[]
參數
- accountFilter
- AccountFilter
(可選)篩選器以縮小回傳帳戶範圍
傳回
快取中的 AccountInfo 物件陣列
繼承自 PublicClientApplication.getAllAccounts
getLogger()
getTokenCache()
取得應用程式的標記快取。
function getTokenCache(): ITokenCache
傳回
ITokenCache
繼承自 PublicClientApplication.getTokenCache
handleRedirectPromise(string)
事件處理程式功能,允許使用者在 PublicClientApplication 物件載入後,於重定向流程中觸發事件。 所有涉及重定向認證流程的頁面載入時,都應啟動此功能。
function handleRedirectPromise(hash?: string): Promise<null | AuthenticationResult>
參數
- hash
-
string
用雜湊處理。 預設為目前的 window.location.hash 值。 只有當待處理的回應不包含在當前值時,才需要明確提供。
傳回
Promise<null | AuthenticationResult>
標記回應或空回應。 如果回傳值為空,表示未偵測到任何認證重定向。
繼承自 PublicClientApplication.handleRedirectPromise
hydrateCache(AuthenticationResult, PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)
Hydrates 將憑證和帳號存放在 AuthenticationResult 物件中
function hydrateCache(result: AuthenticationResult, request: PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>): Promise<void>
參數
- result
-
AuthenticationResult
- request
-
PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>
用於取得 AuthenticationResult 的請求物件
傳回
Promise<void>
繼承自 PublicClientApplication.hydrateCache
initialize(InitializeApplicationRequest)
初始化器函式用於執行非同步啟動任務,例如連接 WAM 擴充功能
function initialize(request?: InitializeApplicationRequest): Promise<void>
參數
- request
-
InitializeApplicationRequest
{?InitializeApplicationRequest}
傳回
Promise<void>
繼承自 PublicClientApplication.initialize
initializeWrapperLibrary(WrapperSKU, string)
由包裝函式庫(Angular 和 React)呼叫,設定 SKU 和版本,並傳給遙測、記錄器等。
function initializeWrapperLibrary(sku: WrapperSKU, version: string)
參數
- sku
-
WrapperSKU
- version
-
string
繼承自 PublicClientApplication.initializeWrapperLibrary
loginPopup(PopupRequest)
在啟動登入流程時,透過在使用者瀏覽器中開啟彈出視窗
function loginPopup(request?: PopupRequest): Promise<AuthenticationResult>
參數
- request
-
PopupRequest
傳回
Promise<AuthenticationResult>
當此功能完成時承諾會被履行;若提出錯誤則被拒絕。
繼承自 PublicClientApplication.loginPopup
loginRedirect(RedirectRequest)
在啟動登入流程時,透過將使用者的瀏覽器導向到授權端點來使用。 這個函式會重新導向頁面,因此跟隨這個函式的程式碼將無法執行。
重要提示:不建議使用依賴於承諾解析的程式碼。 這個功能會從目前的瀏覽器視窗中自動移動。 目前它會回傳一個 Promise,以反映此函式中執行的程式碼非同步特性。
function loginRedirect(request?: RedirectRequest): Promise<void>
參數
- request
-
RedirectRequest
傳回
Promise<void>
繼承自 PublicClientApplication.loginRedirect
logout(EndSessionRequest)
警告
此 API 現已淘汰。
已棄用登出功能。 改用 logoutRedirect 或 logoutPopup
function logout(logoutRequest?: EndSessionRequest): Promise<void>
參數
- logoutRequest
-
EndSessionRequest
傳回
Promise<void>
繼承自 PublicClientApplication.logout
logoutPopup(EndSessionPopupRequest)
清除目前使用者的本地快取,然後打開彈出視窗,提示使用者登出伺服器
function logoutPopup(logoutRequest?: EndSessionPopupRequest): Promise<void>
參數
- logoutRequest
-
EndSessionPopupRequest
傳回
Promise<void>
繼承自 PublicClientApplication.logoutPopup
logoutRedirect(EndSessionRequest)
用來登出目前使用者,並將使用者重新導向到 postLogoutRedirectUri。
預設行為是將使用者重新導向至 window.location.href。
function logoutRedirect(logoutRequest?: EndSessionRequest): Promise<void>
參數
- logoutRequest
-
EndSessionRequest
傳回
Promise<void>
繼承自 PublicClientApplication.logoutRedirect
removeEventCallback(string)
從回調陣列中移除帶有 id 的回撥
function removeEventCallback(callbackId: string)
參數
- callbackId
-
string
繼承自 PublicClientApplication.removeEventCallback
removePerformanceCallback(string)
移除以 addPerformanceCallback 註冊的回撥。
function removePerformanceCallback(callbackId: string): boolean
參數
- callbackId
-
string
傳回
boolean
繼承自 PublicClientApplication.removePerformanceCallback
setActiveAccount(null | AccountInfo)
設定帳號作為有效帳號使用。 若未將帳號傳入 acquireToken API,MSAL 將使用該啟用帳號。
function setActiveAccount(account: null | AccountInfo)
參數
- account
-
null | AccountInfo
繼承自 PublicClientApplication.setActiveAccount
setLogger(Logger)
將設定中的預設記錄器替換為新的記錄器,並有新的設定
function setLogger(logger: Logger)
參數
- logger
- Logger
記錄器實例
繼承自 PublicClientApplication.setLogger
setNavigationClient(INavigationClient)
Sets 導航客戶端
function setNavigationClient(navigationClient: INavigationClient)
參數
- navigationClient
-
INavigationClient
繼承自 PublicClientApplication.setNavigationClient
ssoSilent(Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)
此功能利用隱藏的 iframe 從 eSTS 取得授權碼。 有些情況下,這方法可能無法奏效:
- 任何使用智慧追蹤預防的瀏覽器
- 如果服務沒有建立固定的會話
在這些情況下,請求必須透過彈出視窗或全畫面重定向來完成。
在需要互動的情況下,不能發送提示=無的請求。
如果你的刷新權杖已經過期,只要伺服器上的工作還存在,你可以用這個函式靜默地取得一組新的權杖。
function ssoSilent(request: Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>): Promise<AuthenticationResult>
參數
- request
-
Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>
傳回
Promise<AuthenticationResult>
當此功能完成時承諾會被履行;若提出錯誤則被拒絕。
繼承自 PublicClientApplication.ssoSilent