PublicClientApplication class

Třída PublicClientApplication je objekt vystavený knihovnou pro provádění ověřovacích a autorizačních funkcí v jednostránkových aplikacích k získání tokenů JWT, jak je popsáno v toku autorizačního kódu OAuth 2.0 se specifikací PKCE.

Metody

acquireTokenByCode(AuthorizationCodeRequest)

Tato funkce uplatní autorizační kód (předaný jako kód) z koncového bodu tokenu eSTS. Tento autorizační kód by měl být získán na straně serveru pomocí důvěrného klienta k získání spa_code. Toto rozhraní API není zatěžováno pro běžné získání a uplatnění autorizačního kódu.

Uplatnění tohoto autorizačního kódu nebude vyžadovat PKCE, protože ho získal důvěrný klient.

acquireTokenPopup(PopupRequest)

Použijte, když chcete získat access_token pro rozhraní API prostřednictvím otevření automaticky otevírané okno v prohlížeči uživatele.

acquireTokenRedirect(RedirectRequest)

Použijte, když chcete získat access_token pro vaše rozhraní API přesměrováním okna prohlížeče uživatele do koncového bodu autorizace. Tato funkce přesměruje stránku, takže žádný kód, který následuje za touto funkcí, se nespustí.

DŮLEŽITÉ: Nedoporučuje se mít kód, který je závislý na řešení příslibu. Tato funkce přejde mimo aktuální okno prohlížeče. V současné době vrací příslib, aby odrážel asynchronní povahu kódu spuštěného v této funkci.

acquireTokenSilent(SilentRequest)

Bezobslužné získání přístupového tokenu pro danou sadu oborů Vrátí v současné době příslib zpracování, pokud jsou provedeny paralelní požadavky.

addEventCallback(EventCallbackFunction, EventType[])

Přidá zpětná volání událostí do pole.

addPerformanceCallback(PerformanceCallbackFunction)

Zaregistruje zpětné volání pro příjem událostí výkonu.

clearCache(ClearCacheRequest)

Vymaže tokeny a účet z mezipaměti prohlížeče.

createPublicClientApplication(Configuration)

Vytvoří StandardController a předá ho do PublicClientApplication.

disableAccountStorageEvents()

Odebere naslouchací proces událostí, který vygeneruje událost při přidání nebo odebrání uživatelského účtu z localstorage na jiné kartě nebo okně prohlížeče.

enableAccountStorageEvents()

Přidá naslouchací proces událostí, který vygeneruje událost při přidání nebo odebrání uživatelského účtu z místního prostředí na jiné kartě nebo okně prohlížeče.

getAccount(AccountFilter)

Vrátí první účet nalezený v mezipaměti, který odpovídá filtru účtu předaného.

getAccountByHomeId(string)

Vrátí přihlášený účet odpovídající homeAccountId. (objekt účtu se vytvoří v době úspěšného přihlášení) nebo null, pokud se nenajde žádný odpovídající účet.

getAccountByLocalId(string)

Vrátí přihlášený účet odpovídající localAccountId. (objekt účtu se vytvoří v době úspěšného přihlášení) nebo null, pokud se nenajde žádný odpovídající účet.

getAccountByUsername(string)

Vrátí přihlášený účet odpovídající uživatelskému jménu. (objekt účtu se vytvoří v době úspěšného přihlášení) nebo null, pokud se nenajde žádný odpovídající účet. Toto rozhraní API je k dispozici pro usnadnění, ale pro zajištění nejlepší spolehlivosti by se mělo použít getAccountById.

getActiveAccount()

Získá aktuálně aktivní účet.

getAllAccounts(AccountFilter)

Vrátí všechny účty v mezipaměti, které odpovídají volitelnému filtru. Pokud není zadaný žádný filtr, vrátí se všechny účty.

getLogger()

Vrátí instanci protokolovacího nástroje.

getTokenCache()

Získá mezipaměť tokenů pro aplikaci.

handleRedirectPromise(string)

Funkce obslužné rutiny události, která uživatelům umožňuje aktivovat události po načtení objektu PublicClientApplication během toků přesměrování. To by se mělo vyvolat na všech stránkách, které se týkají toků ověřování přesměrování.

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

Hydratuje mezipaměť s tokeny a účtem v objektu AuthenticationResult

initialize(InitializeApplicationRequest)

Inicializační funkce pro provádění asynchronních spouštěcích úloh, jako je připojení k rozšíření WAM

initializeWrapperLibrary(WrapperSKU, string)

Volané obálkovými knihovnami (Angular &React) pro nastavení skladové položky a verze předávané telemetrii, protokolovacímu modulu atd.

loginPopup(PopupRequest)

Používá se při zahájení procesu přihlášení otevřením automaticky otevírané okno v prohlížeči uživatele.

loginRedirect(RedirectRequest)

Použije se při zahájení procesu přihlášení přesměrováním prohlížeče uživatele na koncový bod autorizace. Tato funkce přesměruje stránku, takže žádný kód, který následuje za touto funkcí, se nespustí.

DŮLEŽITÉ: Nedoporučuje se mít kód, který je závislý na řešení příslibu. Tato funkce přejde mimo aktuální okno prohlížeče. V současné době vrací příslib, aby odrážel asynchronní povahu kódu spuštěného v této funkci.

logout(EndSessionRequest)

Zastaralá funkce odhlášení. Místo toho použijte logoutRedirect nebo logoutPopup.

logoutPopup(EndSessionPopupRequest)

Vymaže místní mezipaměť aktuálního uživatele a otevře automaticky otevírané okno s výzvou k odhlášení ze serveru.

logoutRedirect(EndSessionRequest)

Slouží k odhlášení aktuálního uživatele a přesměrování uživatele na postLogoutRedirectUri. Výchozí chování je přesměrování uživatele na window.location.hrefadresu .

removeEventCallback(string)

Odebere zpětné volání se zadaným ID z pole zpětného volání.

removePerformanceCallback(string)

Odebere zpětné volání registrované pomocí addPerformanceCallback.

setActiveAccount(null | AccountInfo)

Nastaví účet, který se má použít jako aktivní účet. Pokud se do rozhraní acquireToken API nepředá žádný účet, nástroj MSAL použije tento aktivní účet.

setLogger(Logger)

Nahradí výchozí protokolovací sadu v konfiguracích novým protokolovacím nástrojem novými konfiguracemi.

setNavigationClient(INavigationClient)

Nastaví navigačního klienta.

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

Tato funkce používá skrytý prvek iframe k načtení autorizačního kódu z eSTS. Existují případy, kdy to nemusí fungovat:

  • Libovolný prohlížeč používající formu inteligentní prevence sledování
  • Pokud neexistuje vytvořená relace se službou

V těchto případech musí být požadavek proveden uvnitř automaticky otevírané nebo úplné přesměrování rámce.

V případech, kdy je vyžadována interakce, nelze odeslat požadavek s výzvou =none.

Pokud vypršela platnost obnovovacího tokenu, můžete pomocí této funkce načíst novou sadu tokenů bezobslužně, pokud relace na serveru stále existuje.

Podrobnosti konstruktoru

PublicClientApplication(Configuration, IController)

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

Parametry

configuration
Configuration

Objekt instance MSAL PublicClientApplication

controller
IController

Podrobnosti metody

acquireTokenByCode(AuthorizationCodeRequest)

Tato funkce uplatní autorizační kód (předaný jako kód) z koncového bodu tokenu eSTS. Tento autorizační kód by měl být získán na straně serveru pomocí důvěrného klienta k získání spa_code. Toto rozhraní API není zatěžováno pro běžné získání a uplatnění autorizačního kódu.

Uplatnění tohoto autorizačního kódu nebude vyžadovat PKCE, protože ho získal důvěrný klient.

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

Parametry

Návraty

Příslib, který se splní, když se tato funkce dokončí nebo odmítne, pokud byla vyvolána chyba.

acquireTokenPopup(PopupRequest)

Použijte, když chcete získat access_token pro rozhraní API prostřednictvím otevření automaticky otevírané okno v prohlížeči uživatele.

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

Parametry

request
PopupRequest

Návraty

Příslib, který se splní, když se tato funkce dokončí nebo odmítne, pokud byla vyvolána chyba.

acquireTokenRedirect(RedirectRequest)

Použijte, když chcete získat access_token pro vaše rozhraní API přesměrováním okna prohlížeče uživatele do koncového bodu autorizace. Tato funkce přesměruje stránku, takže žádný kód, který následuje za touto funkcí, se nespustí.

DŮLEŽITÉ: Nedoporučuje se mít kód, který je závislý na řešení příslibu. Tato funkce přejde mimo aktuální okno prohlížeče. V současné době vrací příslib, aby odrážel asynchronní povahu kódu spuštěného v této funkci.

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

Parametry

request
RedirectRequest

Návraty

Promise<void>

acquireTokenSilent(SilentRequest)

Bezobslužné získání přístupového tokenu pro danou sadu oborů Vrátí v současné době příslib zpracování, pokud jsou provedeny paralelní požadavky.

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

Parametry

silentRequest
SilentRequest

Návraty

  • příslib, který je splněn při dokončení této funkce nebo zamítnut, pokud byla vyvolána chyba. Vrátí objekt AuthenticationResult .

addEventCallback(EventCallbackFunction, EventType[])

Přidá zpětná volání událostí do pole.

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

Parametry

eventTypes

EventType[]

Návraty

null | string

addPerformanceCallback(PerformanceCallbackFunction)

Zaregistruje zpětné volání pro příjem událostí výkonu.

function addPerformanceCallback(callback: PerformanceCallbackFunction): string

Parametry

Návraty

string

clearCache(ClearCacheRequest)

Vymaže tokeny a účet z mezipaměti prohlížeče.

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

Parametry

logoutRequest
ClearCacheRequest

Návraty

Promise<void>

createPublicClientApplication(Configuration)

Vytvoří StandardController a předá ho do PublicClientApplication.

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

Parametry

configuration
Configuration

{Configuration}

Návraty

disableAccountStorageEvents()

Odebere naslouchací proces událostí, který vygeneruje událost při přidání nebo odebrání uživatelského účtu z localstorage na jiné kartě nebo okně prohlížeče.

function disableAccountStorageEvents()

enableAccountStorageEvents()

Přidá naslouchací proces událostí, který vygeneruje událost při přidání nebo odebrání uživatelského účtu z místního prostředí na jiné kartě nebo okně prohlížeče.

function enableAccountStorageEvents()

getAccount(AccountFilter)

Vrátí první účet nalezený v mezipaměti, který odpovídá filtru účtu předaného.

function getAccount(accountFilter: AccountFilter): null | AccountInfo

Parametry

accountFilter
AccountFilter

Návraty

null | AccountInfo

První účet nalezený v mezipaměti odpovídající zadanému filtru nebo hodnotě null, pokud nebyl nalezen žádný účet.

getAccountByHomeId(string)

Upozornění

Toto rozhraní API je teď zastaralé.

  • Use getAccount instead

Vrátí přihlášený účet odpovídající homeAccountId. (objekt účtu se vytvoří v době úspěšného přihlášení) nebo null, pokud se nenajde žádný odpovídající účet.

function getAccountByHomeId(homeAccountId: string): null | AccountInfo

Parametry

homeAccountId

string

Návraty

null | AccountInfo

Objekt účtu uložený v knihovně MSAL

getAccountByLocalId(string)

Upozornění

Toto rozhraní API je teď zastaralé.

  • Use getAccount instead

Vrátí přihlášený účet odpovídající localAccountId. (objekt účtu se vytvoří v době úspěšného přihlášení) nebo null, pokud se nenajde žádný odpovídající účet.

function getAccountByLocalId(localId: string): null | AccountInfo

Parametry

localId

string

Návraty

null | AccountInfo

Objekt účtu uložený v knihovně MSAL

getAccountByUsername(string)

Upozornění

Toto rozhraní API je teď zastaralé.

  • Use getAccount instead

Vrátí přihlášený účet odpovídající uživatelskému jménu. (objekt účtu se vytvoří v době úspěšného přihlášení) nebo null, pokud se nenajde žádný odpovídající účet. Toto rozhraní API je k dispozici pro usnadnění, ale pro zajištění nejlepší spolehlivosti by se mělo použít getAccountById.

function getAccountByUsername(userName: string): null | AccountInfo

Parametry

userName

string

Návraty

null | AccountInfo

Objekt účtu uložený v knihovně MSAL

getActiveAccount()

Získá aktuálně aktivní účet.

function getActiveAccount(): null | AccountInfo

Návraty

null | AccountInfo

getAllAccounts(AccountFilter)

Vrátí všechny účty v mezipaměti, které odpovídají volitelnému filtru. Pokud není zadaný žádný filtr, vrátí se všechny účty.

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

Parametry

accountFilter
AccountFilter

(Volitelné) filtr pro zúžení vrácených účtů

Návraty

Pole objektů AccountInfo v mezipaměti

getLogger()

Vrátí instanci protokolovacího nástroje.

function getLogger(): Logger

Návraty

getTokenCache()

Získá mezipaměť tokenů pro aplikaci.

function getTokenCache(): ITokenCache

Návraty

handleRedirectPromise(string)

Funkce obslužné rutiny události, která uživatelům umožňuje aktivovat události po načtení objektu PublicClientApplication během toků přesměrování. To by se mělo vyvolat na všech stránkách, které se týkají toků ověřování přesměrování.

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

Parametry

hash

string

Hodnota hash, která se má zpracovat Výchozí hodnota je aktuální hodnota window.location.hash. Pouze je potřeba explicitně poskytnout, pokud odpověď, která se má zpracovat, není obsažena v aktuální hodnotě.

Návraty

Promise<null | AuthenticationResult>

Odpověď tokenu nebo hodnota null. Pokud je vrácená hodnota null, nebylo zjištěno žádné přesměrování ověřování.

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

Hydratuje mezipaměť s tokeny a účtem v objektu AuthenticationResult

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

Parametry

request

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

Objekt požadavku, který byl použit k získání AuthenticationResult

Návraty

Promise<void>

initialize(InitializeApplicationRequest)

Inicializační funkce pro provádění asynchronních spouštěcích úloh, jako je připojení k rozšíření WAM

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

Parametry

request
InitializeApplicationRequest

{? InitializeApplicationRequest}

Návraty

Promise<void>

initializeWrapperLibrary(WrapperSKU, string)

Volané obálkovými knihovnami (Angular &React) pro nastavení skladové položky a verze předávané telemetrii, protokolovacímu modulu atd.

function initializeWrapperLibrary(sku: WrapperSKU, version: string)

Parametry

version

string

loginPopup(PopupRequest)

Používá se při zahájení procesu přihlášení otevřením automaticky otevírané okno v prohlížeči uživatele.

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

Parametry

request
PopupRequest

Návraty

Příslib, který se splní, když se tato funkce dokončí nebo odmítne, pokud byla vyvolána chyba.

loginRedirect(RedirectRequest)

Použije se při zahájení procesu přihlášení přesměrováním prohlížeče uživatele na koncový bod autorizace. Tato funkce přesměruje stránku, takže žádný kód, který následuje za touto funkcí, se nespustí.

DŮLEŽITÉ: Nedoporučuje se mít kód, který je závislý na řešení příslibu. Tato funkce přejde mimo aktuální okno prohlížeče. V současné době vrací příslib, aby odrážel asynchronní povahu kódu spuštěného v této funkci.

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

Parametry

request
RedirectRequest

Návraty

Promise<void>

logout(EndSessionRequest)

Upozornění

Toto rozhraní API je teď zastaralé.

Zastaralá funkce odhlášení. Místo toho použijte logoutRedirect nebo logoutPopup.

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

Parametry

logoutRequest
EndSessionRequest

Návraty

Promise<void>

logoutPopup(EndSessionPopupRequest)

Vymaže místní mezipaměť aktuálního uživatele a otevře automaticky otevírané okno s výzvou k odhlášení ze serveru.

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

Parametry

logoutRequest
EndSessionPopupRequest

Návraty

Promise<void>

logoutRedirect(EndSessionRequest)

Slouží k odhlášení aktuálního uživatele a přesměrování uživatele na postLogoutRedirectUri. Výchozí chování je přesměrování uživatele na window.location.hrefadresu .

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

Parametry

logoutRequest
EndSessionRequest

Návraty

Promise<void>

removeEventCallback(string)

Odebere zpětné volání se zadaným ID z pole zpětného volání.

function removeEventCallback(callbackId: string)

Parametry

callbackId

string

removePerformanceCallback(string)

Odebere zpětné volání registrované pomocí addPerformanceCallback.

function removePerformanceCallback(callbackId: string): boolean

Parametry

callbackId

string

Návraty

boolean

setActiveAccount(null | AccountInfo)

Nastaví účet, který se má použít jako aktivní účet. Pokud se do rozhraní acquireToken API nepředá žádný účet, nástroj MSAL použije tento aktivní účet.

function setActiveAccount(account: null | AccountInfo)

Parametry

account

null | AccountInfo

setLogger(Logger)

Nahradí výchozí protokolovací sadu v konfiguracích novým protokolovacím nástrojem novými konfiguracemi.

function setLogger(logger: Logger)

Parametry

logger
Logger

Instance loggeru

setNavigationClient(INavigationClient)

Nastaví navigačního klienta.

function setNavigationClient(navigationClient: INavigationClient)

Parametry

navigationClient
INavigationClient

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

Tato funkce používá skrytý prvek iframe k načtení autorizačního kódu z eSTS. Existují případy, kdy to nemusí fungovat:

  • Libovolný prohlížeč používající formu inteligentní prevence sledování
  • Pokud neexistuje vytvořená relace se službou

V těchto případech musí být požadavek proveden uvnitř automaticky otevírané nebo úplné přesměrování rámce.

V případech, kdy je vyžadována interakce, nelze odeslat požadavek s výzvou =none.

Pokud vypršela platnost obnovovacího tokenu, můžete pomocí této funkce načíst novou sadu tokenů bezobslužně, pokud relace na serveru stále existuje.

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

Parametry

request

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

SsoSilentRequest

Návraty

Příslib, který se splní, když se tato funkce dokončí nebo odmítne, pokud byla vyvolána chyba.