PublicClientApplication class

PublicClientApplication クラスは、PKCE 仕様の OAuth 2.0 Authorization Code Flow で説明されているように、シングル ページ アプリケーションで認証および承認機能を実行して JWT トークンを取得するためにライブラリによって公開されるオブジェクトです。

メソッド

acquireTokenByCode(AuthorizationCodeRequest)

この関数は、eSTS トークン エンドポイントから承認コード (コードとして渡される) を引き換える。 この承認コードは、機密クライアントを使用してサーバー側で取得し、spa_codeを取得する必要があります。 この API は、通常の承認コードの取得と引き換えには使用されません。

この承認コードを利用するには、機密クライアントによって取得された PKCE は必要ありません。

acquireTokenPopup(PopupRequest)

ユーザーのブラウザーでポップアップ ウィンドウを開き、API のaccess_tokenを取得する場合に使用します

acquireTokenRedirect(RedirectRequest)

ユーザーのブラウザー ウィンドウを承認エンドポイントにリダイレクトして、API のaccess_tokenを取得する場合に使用します。 この関数はページをリダイレクトするため、この関数に続くコードは実行されません。

重要: Promise の解決に依存するコードを作成することはお勧めしません。 この関数は、現在のブラウザー ウィンドウから移動します。 現在、この関数で実行されているコードの非同期の性質を反映するために Promise が返されます。

acquireTokenSilent(SilentRequest)

特定のスコープ セットのアクセス トークンをサイレントで取得します。 並列要求が行われた場合に、現在処理している promise を返します。

addEventCallback(EventCallbackFunction, EventType[])

配列にイベント コールバックを追加します

addPerformanceCallback(PerformanceCallbackFunction)

パフォーマンス イベントを受信するためのコールバックを登録します。

clearCache(ClearCacheRequest)

ブラウザー キャッシュからトークンとアカウントをクリアします。

createPublicClientApplication(Configuration)

StandardController を作成し、PublicClientApplication に渡します

disableAccountStorageEvents()

ユーザー アカウントが別のブラウザー タブまたはウィンドウの localstorage に追加または削除されたときにイベントを生成するイベント リスナーを削除します。

enableAccountStorageEvents()

別のブラウザー タブまたはウィンドウでユーザー アカウントが localstorage に追加または削除されたときにイベントを生成するイベント リスナーを追加します。

getAccount(AccountFilter)

渡されたアカウント フィルターと一致するキャッシュ内で見つかった最初のアカウントを返します。

getAccountByHomeId(string)

homeAccountId と一致するサインインしているアカウントを返します。 (ログインが成功した時点でアカウント オブジェクトが作成されます)、一致するアカウントが見つからない場合は null

getAccountByLocalId(string)

localAccountId と一致するサインインしているアカウントを返します。 (ログインが成功した時点でアカウント オブジェクトが作成されます)、一致するアカウントが見つからない場合は null

getAccountByUsername(string)

ユーザー名と一致するサインインアカウントを返します。 (ログインが成功した時点でアカウント オブジェクトが作成されます)、一致するアカウントが見つからない場合は null。 この API は便宜上提供されていますが、最適な信頼性を得るには getAccountById を使用する必要があります

getActiveAccount()

現在アクティブなアカウントを取得します

getAllAccounts(AccountFilter)

オプションのフィルターに一致するキャッシュ内のすべてのアカウントを返します。 フィルターが指定されていない場合は、すべてのアカウントが返されます。

getLogger()

ロガー インスタンスを返します。

getTokenCache()

アプリケーションのトークン キャッシュを取得します。

handleRedirectPromise(string)

リダイレクト フロー中に PublicClientApplication オブジェクトが読み込まれた後に、ユーザーがイベントを発生できるようにするイベント ハンドラー関数。 これは、リダイレクト認証フローに関係するすべてのページ読み込みで呼び出す必要があります。

hydrateCache(AuthenticationResult, PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

AuthenticationResult オブジェクト内のトークンとアカウントを使用してキャッシュをハイドレートする

initialize(InitializeApplicationRequest)

WAM 拡張機能への接続などの非同期スタートアップ タスクを実行する初期化子関数

initializeWrapperLibrary(WrapperSKU, string)

テレメトリやロガーなどに渡される SKU とバージョンを設定するために、ラッパー ライブラリ (Angular & React) によって呼び出されます。

loginPopup(PopupRequest)

ユーザーのブラウザーでポップアップ ウィンドウを開き、ログイン プロセスを開始するときに使用します

loginRedirect(RedirectRequest)

ユーザーのブラウザーを承認エンドポイントにリダイレクトしてログイン プロセスを開始するときに使用します。 この関数はページをリダイレクトするため、この関数に続くコードは実行されません。

重要: Promise の解決に依存するコードを作成することはお勧めしません。 この関数は、現在のブラウザー ウィンドウから移動します。 現在、この関数で実行されているコードの非同期の性質を反映するために Promise が返されます。

logout(EndSessionRequest)

非推奨のログアウト関数。 代わりに logoutRedirect または logoutPopup を使用する

logoutPopup(EndSessionPopupRequest)

現在のユーザーのローカル キャッシュをクリアし、サーバーからサインアウトするようにユーザーに求めるポップアップ ウィンドウを開きます。

logoutRedirect(EndSessionRequest)

現在のユーザーをログアウトし、ユーザーを postLogoutRedirectUri にリダイレクトするために使用します。 既定の動作では、ユーザーを window.location.hrefにリダイレクトします。

removeEventCallback(string)

指定された ID を持つコールバックをコールバック配列から削除します

removePerformanceCallback(string)

addPerformanceCallback に登録されているコールバックを削除します。

setActiveAccount(null | AccountInfo)

アクティブなアカウントとして使用するアカウントを設定します。 acquireToken API にアカウントが渡されない場合、MSAL はこのアクティブなアカウントを使用します。

setLogger(Logger)

構成で設定された既定のロガーを新しい Logger に新しい構成に置き換えます

setNavigationClient(INavigationClient)

ナビゲーション クライアントを設定します

ssoSilent(Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

この関数では、非表示の iframe を使用して、eSTS から承認コードをフェッチします。 これが機能しない場合があります。

  • インテリジェント追跡防止の形式を使用する任意のブラウザー
  • サービスとのセッションが確立されていない場合

このような場合、要求はポップアップまたはフル フレーム リダイレクト内で行う必要があります。

対話が必要な場合は、prompt=none で要求を送信できません。

更新トークンの有効期限が切れている場合は、サーバー上のセッションがまだ存在する限り、この関数を使用してトークンの新しいセットをサイレント でフェッチできます。

コンストラクターの詳細

PublicClientApplication(Configuration, IController)

new PublicClientApplication(configuration: Configuration, controller?: IController)

パラメーター

configuration
Configuration

MSAL PublicClientApplication インスタンスのオブジェクト

controller
IController

メソッドの詳細

acquireTokenByCode(AuthorizationCodeRequest)

この関数は、eSTS トークン エンドポイントから承認コード (コードとして渡される) を引き換える。 この承認コードは、機密クライアントを使用してサーバー側で取得し、spa_codeを取得する必要があります。 この API は、通常の承認コードの取得と引き換えには使用されません。

この承認コードを利用するには、機密クライアントによって取得された PKCE は必要ありません。

function acquireTokenByCode(request: AuthorizationCodeRequest): Promise<AuthenticationResult>

パラメーター

返品

この関数が完了したときに満たされる約束、またはエラーが発生した場合に拒否される約束。

acquireTokenPopup(PopupRequest)

ユーザーのブラウザーでポップアップ ウィンドウを開き、API のaccess_tokenを取得する場合に使用します

function acquireTokenPopup(request: PopupRequest): Promise<AuthenticationResult>

パラメーター

request
PopupRequest

返品

この関数が完了したときに満たされる約束、またはエラーが発生した場合に拒否される約束。

acquireTokenRedirect(RedirectRequest)

ユーザーのブラウザー ウィンドウを承認エンドポイントにリダイレクトして、API のaccess_tokenを取得する場合に使用します。 この関数はページをリダイレクトするため、この関数に続くコードは実行されません。

重要: Promise の解決に依存するコードを作成することはお勧めしません。 この関数は、現在のブラウザー ウィンドウから移動します。 現在、この関数で実行されているコードの非同期の性質を反映するために Promise が返されます。

function acquireTokenRedirect(request: RedirectRequest): Promise<void>

パラメーター

request
RedirectRequest

返品

Promise<void>

acquireTokenSilent(SilentRequest)

特定のスコープ セットのアクセス トークンをサイレントで取得します。 並列要求が行われた場合に、現在処理している promise を返します。

function acquireTokenSilent(silentRequest: SilentRequest): Promise<AuthenticationResult>

パラメーター

silentRequest
SilentRequest

返品

  • この関数が完了したときに満たされる約束、またはエラーが発生した場合に拒否される約束。 AuthenticationResult オブジェクトを返します。

addEventCallback(EventCallbackFunction, EventType[])

配列にイベント コールバックを追加します

function addEventCallback(callback: EventCallbackFunction, eventTypes?: EventType[]): null | string

パラメーター

eventTypes

EventType[]

返品

null | string

addPerformanceCallback(PerformanceCallbackFunction)

パフォーマンス イベントを受信するためのコールバックを登録します。

function addPerformanceCallback(callback: PerformanceCallbackFunction): string

パラメーター

返品

string

clearCache(ClearCacheRequest)

ブラウザー キャッシュからトークンとアカウントをクリアします。

function clearCache(logoutRequest?: ClearCacheRequest): Promise<void>

パラメーター

logoutRequest
ClearCacheRequest

返品

Promise<void>

createPublicClientApplication(Configuration)

StandardController を作成し、PublicClientApplication に渡します

static function createPublicClientApplication(configuration: Configuration): Promise<IPublicClientApplication>

パラメーター

configuration
Configuration

{Configuration}

返品

disableAccountStorageEvents()

ユーザー アカウントが別のブラウザー タブまたはウィンドウの localstorage に追加または削除されたときにイベントを生成するイベント リスナーを削除します。

function disableAccountStorageEvents()

enableAccountStorageEvents()

別のブラウザー タブまたはウィンドウでユーザー アカウントが localstorage に追加または削除されたときにイベントを生成するイベント リスナーを追加します。

function enableAccountStorageEvents()

getAccount(AccountFilter)

渡されたアカウント フィルターと一致するキャッシュ内で見つかった最初のアカウントを返します。

function getAccount(accountFilter: AccountFilter): null | AccountInfo

パラメーター

accountFilter
AccountFilter

返品

null | AccountInfo

指定されたフィルターと一致するキャッシュ内で最初に見つかったアカウント。アカウントが見つからなかった場合は null。

getAccountByHomeId(string)

警告

この API は非推奨になりました。

  • Use getAccount instead

homeAccountId と一致するサインインしているアカウントを返します。 (ログインが成功した時点でアカウント オブジェクトが作成されます)、一致するアカウントが見つからない場合は null

function getAccountByHomeId(homeAccountId: string): null | AccountInfo

パラメーター

homeAccountId

string

返品

null | AccountInfo

MSAL に格納されているアカウント オブジェクト

getAccountByLocalId(string)

警告

この API は非推奨になりました。

  • Use getAccount instead

localAccountId と一致するサインインしているアカウントを返します。 (ログインが成功した時点でアカウント オブジェクトが作成されます)、一致するアカウントが見つからない場合は null

function getAccountByLocalId(localId: string): null | AccountInfo

パラメーター

localId

string

返品

null | AccountInfo

MSAL に格納されているアカウント オブジェクト

getAccountByUsername(string)

警告

この API は非推奨になりました。

  • Use getAccount instead

ユーザー名と一致するサインインアカウントを返します。 (ログインが成功した時点でアカウント オブジェクトが作成されます)、一致するアカウントが見つからない場合は null。 この API は便宜上提供されていますが、最適な信頼性を得るには getAccountById を使用する必要があります

function getAccountByUsername(userName: string): null | AccountInfo

パラメーター

userName

string

返品

null | AccountInfo

MSAL に格納されているアカウント オブジェクト

getActiveAccount()

現在アクティブなアカウントを取得します

function getActiveAccount(): null | AccountInfo

返品

null | AccountInfo

getAllAccounts(AccountFilter)

オプションのフィルターに一致するキャッシュ内のすべてのアカウントを返します。 フィルターが指定されていない場合は、すべてのアカウントが返されます。

function getAllAccounts(accountFilter?: AccountFilter): AccountInfo[]

パラメーター

accountFilter
AccountFilter

(省略可能) 返されるアカウントを絞り込むフィルター

返品

キャッシュ内の AccountInfo オブジェクトの配列

getLogger()

ロガー インスタンスを返します。

function getLogger(): Logger

返品

getTokenCache()

アプリケーションのトークン キャッシュを取得します。

function getTokenCache(): ITokenCache

返品

handleRedirectPromise(string)

リダイレクト フロー中に PublicClientApplication オブジェクトが読み込まれた後に、ユーザーがイベントを発生できるようにするイベント ハンドラー関数。 これは、リダイレクト認証フローに関係するすべてのページ読み込みで呼び出す必要があります。

function handleRedirectPromise(hash?: string): Promise<null | AuthenticationResult>

パラメーター

hash

string

処理するハッシュ。 既定値は window.location.hash の現在の値です。 処理する応答が現在の値に含まれていない場合にのみ、明示的に指定する必要があります。

返品

Promise<null | AuthenticationResult>

トークン応答または null。 戻り値が null の場合、認証リダイレクトは検出されませんでした。

hydrateCache(AuthenticationResult, PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

AuthenticationResult オブジェクト内のトークンとアカウントを使用してキャッシュをハイドレートする

function hydrateCache(result: AuthenticationResult, request: PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>): Promise<void>

パラメーター

request

PopupRequest | RedirectRequest | SilentRequest | Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>

AuthenticationResult の取得に使用された要求オブジェクト

返品

Promise<void>

initialize(InitializeApplicationRequest)

WAM 拡張機能への接続などの非同期スタートアップ タスクを実行する初期化子関数

function initialize(request?: InitializeApplicationRequest): Promise<void>

パラメーター

request
InitializeApplicationRequest

{?InitializeApplicationRequest}

返品

Promise<void>

initializeWrapperLibrary(WrapperSKU, string)

テレメトリやロガーなどに渡される SKU とバージョンを設定するために、ラッパー ライブラリ (Angular & React) によって呼び出されます。

function initializeWrapperLibrary(sku: WrapperSKU, version: string)

パラメーター

version

string

loginPopup(PopupRequest)

ユーザーのブラウザーでポップアップ ウィンドウを開き、ログイン プロセスを開始するときに使用します

function loginPopup(request?: PopupRequest): Promise<AuthenticationResult>

パラメーター

request
PopupRequest

返品

この関数が完了したときに満たされる約束、またはエラーが発生した場合に拒否される約束。

loginRedirect(RedirectRequest)

ユーザーのブラウザーを承認エンドポイントにリダイレクトしてログイン プロセスを開始するときに使用します。 この関数はページをリダイレクトするため、この関数に続くコードは実行されません。

重要: Promise の解決に依存するコードを作成することはお勧めしません。 この関数は、現在のブラウザー ウィンドウから移動します。 現在、この関数で実行されているコードの非同期の性質を反映するために Promise が返されます。

function loginRedirect(request?: RedirectRequest): Promise<void>

パラメーター

request
RedirectRequest

返品

Promise<void>

logout(EndSessionRequest)

警告

この API は非推奨になりました。

非推奨のログアウト関数。 代わりに logoutRedirect または logoutPopup を使用する

function logout(logoutRequest?: EndSessionRequest): Promise<void>

パラメーター

logoutRequest
EndSessionRequest

返品

Promise<void>

logoutPopup(EndSessionPopupRequest)

現在のユーザーのローカル キャッシュをクリアし、サーバーからサインアウトするようにユーザーに求めるポップアップ ウィンドウを開きます。

function logoutPopup(logoutRequest?: EndSessionPopupRequest): Promise<void>

パラメーター

logoutRequest
EndSessionPopupRequest

返品

Promise<void>

logoutRedirect(EndSessionRequest)

現在のユーザーをログアウトし、ユーザーを postLogoutRedirectUri にリダイレクトするために使用します。 既定の動作では、ユーザーを window.location.hrefにリダイレクトします。

function logoutRedirect(logoutRequest?: EndSessionRequest): Promise<void>

パラメーター

logoutRequest
EndSessionRequest

返品

Promise<void>

removeEventCallback(string)

指定された ID を持つコールバックをコールバック配列から削除します

function removeEventCallback(callbackId: string)

パラメーター

callbackId

string

removePerformanceCallback(string)

addPerformanceCallback に登録されているコールバックを削除します。

function removePerformanceCallback(callbackId: string): boolean

パラメーター

callbackId

string

返品

boolean

setActiveAccount(null | AccountInfo)

アクティブなアカウントとして使用するアカウントを設定します。 acquireToken API にアカウントが渡されない場合、MSAL はこのアクティブなアカウントを使用します。

function setActiveAccount(account: null | AccountInfo)

パラメーター

account

null | AccountInfo

setLogger(Logger)

構成で設定された既定のロガーを新しい Logger に新しい構成に置き換えます

function setLogger(logger: Logger)

パラメーター

logger
Logger

Logger インスタンス

setNavigationClient(INavigationClient)

ナビゲーション クライアントを設定します

function setNavigationClient(navigationClient: INavigationClient)

パラメーター

navigationClient
INavigationClient

ssoSilent(Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>)

この関数では、非表示の iframe を使用して、eSTS から承認コードをフェッチします。 これが機能しない場合があります。

  • インテリジェント追跡防止の形式を使用する任意のブラウザー
  • サービスとのセッションが確立されていない場合

このような場合、要求はポップアップまたはフル フレーム リダイレクト内で行う必要があります。

対話が必要な場合は、prompt=none で要求を送信できません。

更新トークンの有効期限が切れている場合は、サーバー上のセッションがまだ存在する限り、この関数を使用してトークンの新しいセットをサイレント でフェッチできます。

function ssoSilent(request: Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>): Promise<AuthenticationResult>

パラメーター

request

Partial<Omit<CommonAuthorizationUrlRequest, "responseMode" | "earJwk" | "codeChallenge" | "codeChallengeMethod" | "requestedClaimsHash" | "platformBroker">>

SsoSilentRequest

返品

この関数が完了したときに満たされる約束、またはエラーが発生した場合に拒否される約束。