PublicClientNext class

PublicClientNext ist ein frühzeitiger Blick auf die geplante Implementierung von PublicClientApplication in der nächsten Hauptversion von MSAL.js. Sie enthält Unterstützung für mehrere API-Implementierungen basierend auf der Laufzeitumgebung, in der sie ausgeführt wird.

Die Ziele dieser Änderungen sind, eine klare Trennung des Verhaltens zwischen verschiedenen Betriebskontexten (nested App Auth, Platform Brokers, Plain old Browser usw.) bereitzustellen und gleichzeitig eine konsistente API-Oberfläche für Entwickler bereitzustellen.

Verwenden Sie PublicClientApplication für alle Prod/Real-World-Szenarien. Hinweis: PublicClientNext ist experimentell und unterliegt unterbrechungspflichtigen Änderungen ohne folgende Semver

Methoden

acquireTokenByCode(AuthorizationCodeRequest)

Diese Funktion löst einen Autorisierungscode (als Code übergeben) vom eSTS-Tokenendpunkt ein. Dieser Autorisierungscode sollte serverseitig mithilfe eines vertraulichen Clients abgerufen werden, um eine spa_code zu erwerben. Diese API wird nicht für die normale Autorisierungscodeakquise und -einlösung eingerückt.

Die Einlösung dieses Autorisierungscodes erfordert keine PKCE, da sie von einem vertraulichen Kunden erworben wurde.

acquireTokenPopup(PopupRequest)

Verwenden Sie diesen Vorgang, wenn Sie eine access_token für Ihre API abrufen möchten, indem Sie ein Popupfenster im Browser des Benutzers öffnen.

acquireTokenRedirect(RedirectRequest)

Verwenden Sie diesen Vorgang, wenn Sie eine access_token für Ihre API abrufen möchten, indem Sie das Browserfenster des Benutzers an den Autorisierungsendpunkt umleiten. Diese Funktion leitet die Seite um, sodass code, der auf diese Funktion folgt, nicht ausgeführt wird.

WICHTIG: Es wird NICHT empfohlen, Code zu haben, der von der Auflösung der Zusage abhängig ist. Diese Funktion navigiert vom aktuellen Browserfenster weg. Es gibt derzeit eine Zusage zurück, um die asynchrone Art des Codes widerzuspiegeln, der in dieser Funktion ausgeführt wird.

acquireTokenSilent(SilentRequest)

Rufen Sie automatisch ein Zugriffstoken für einen bestimmten Satz von Bereichen ab. Gibt zurzeit eine Zusage zur Verarbeitung zurück, wenn parallele Anforderungen gestellt werden.

addEventCallback(EventCallbackFunction, EventType[])

Fügt Dem Array Ereignisrückrufe hinzu.

addPerformanceCallback(PerformanceCallbackFunction)

Registriert einen Rückruf zum Empfangen von Leistungsereignissen.

clearCache(ClearCacheRequest)

Löscht Token und Konto aus dem Browsercache.

createPublicClientApplication(Configuration)
disableAccountStorageEvents()

Entfernt ereignislistener, der ein Ereignis ausgibt, wenn ein Benutzerkonto in einer anderen Browserregisterkarte oder einem anderen Browserfenster hinzugefügt oder daraus entfernt wird.

enableAccountStorageEvents()

Fügt Ereignislistener hinzu, der ein Ereignis ausgibt, wenn ein Benutzerkonto in einer anderen Browserregisterkarte oder einem anderen Browserfenster hinzugefügt oder aus dem LocalStorage entfernt wird.

getAccount(AccountFilter)

Gibt das erste Konto im Cache zurück, das dem übergebenen Kontofilter entspricht.

getAccountByHomeId(string)

Gibt die angemeldete kontoabgleiche homeAccountId zurück. (das Kontoobjekt wird zum Zeitpunkt der erfolgreichen Anmeldung erstellt) oder NULL, wenn kein übereinstimmender Konto gefunden wird.

getAccountByLocalId(string)

Gibt die angemeldete kontoabgleiche localAccountId zurück. (das Kontoobjekt wird zum Zeitpunkt der erfolgreichen Anmeldung erstellt) oder NULL, wenn kein übereinstimmender Konto gefunden wird.

getAccountByUsername(string)

Gibt den angemeldeten Kontonamen zurück, der dem Benutzernamen entspricht. (das Kontoobjekt wird zum Zeitpunkt der erfolgreichen Anmeldung erstellt) oder NULL, wenn kein übereinstimmende Konto gefunden wird. Diese API wird zur Vereinfachung bereitgestellt, aber getAccountById sollte für optimale Zuverlässigkeit verwendet werden.

getActiveAccount()

Ruft das derzeit aktive Konto ab.

getAllAccounts(AccountFilter)

Gibt alle Konten im Cache zurück, die dem optionalen Filter entsprechen. Wenn kein Filter bereitgestellt wird, werden alle Konten zurückgegeben.

getLogger()

Gibt die Loggerinstanz zurück.

getTokenCache()

Ruft den Tokencache für die Anwendung ab.

handleRedirectPromise(string)

Ereignishandlerfunktion, mit der Benutzer Ereignisse auslösen können, nachdem das PublicClientApplication-Objekt während der Umleitungsflüsse geladen wurde. Dies sollte auf allen Seitenladevorgängen aufgerufen werden, die an Umleitungs-Authentifizierungsflüssen beteiligt sind.

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

Hydrates cache with the tokens and account in the AuthenticationResult object

initialize()

Initialisierungsfunktion zum Ausführen asynchroner Startaufgaben, z. B. herstellen einer Verbindung mit der WAM-Erweiterung

initializeWrapperLibrary(WrapperSKU, string)

Wird von Wrapperbibliotheken (Angular & React) aufgerufen, um SKU und Version festzulegen, die an Telemetrie, Logger usw. übergeben wurde.

loginPopup(PopupRequest)

Verwendung beim Initiieren des Anmeldevorgangs durch Öffnen eines Popupfensters im Browser des Benutzers

loginRedirect(RedirectRequest)

Wird beim Initiieren des Anmeldevorgangs verwendet, indem Sie den Browser des Benutzers an den Autorisierungsendpunkt umleiten. Diese Funktion leitet die Seite um, sodass code, der auf diese Funktion folgt, nicht ausgeführt wird.

WICHTIG: Es wird NICHT empfohlen, Code zu haben, der von der Auflösung der Zusage abhängig ist. Diese Funktion navigiert vom aktuellen Browserfenster weg. Es gibt derzeit eine Zusage zurück, um die asynchrone Art des Codes widerzuspiegeln, der in dieser Funktion ausgeführt wird.

logout(EndSessionRequest)

Veraltete Abmeldefunktion. Verwenden Sie stattdessen "logoutRedirect" oder "logoutPopup".

logoutPopup(EndSessionRequest)

Löscht den lokalen Cache für den aktuellen Benutzer und öffnet dann ein Popupfenster, in dem der Benutzer aufgefordert wird, sich vom Server abzumelden.

logoutRedirect(EndSessionRequest)

Wird verwendet, um den aktuellen Benutzer abzumelden und den Benutzer an den postLogoutRedirectUri umzuleiten. Das Standardverhalten besteht darin, den Benutzer auf window.location.href.

removeEventCallback(string)

Entfernt Rückruf mit bereitgestellter ID aus dem Rückrufarray.

removePerformanceCallback(string)

Entfernt einen mit addPerformanceCallback registrierten Rückruf.

setActiveAccount(null | AccountInfo)

Legt das Konto fest, das als aktives Konto verwendet werden soll. Wenn kein Konto an die AcquireToken-APIs übergeben wird, verwendet MSAL dieses aktive Konto.

setLogger(Logger)

Ersetzt den Standardprotokollierer in Konfigurationen durch neuen Logger durch neue Konfigurationen.

setNavigationClient(INavigationClient)

Legt den Navigationsclient fest

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

Diese Funktion verwendet einen ausgeblendeten iFrame, um einen Autorisierungscode aus dem eSTS abzurufen. Es gibt Fälle, in denen dies möglicherweise nicht funktioniert:

  • Jeder Browser, der eine Form der intelligenten Tracking-Verhinderung verwendet
  • Wenn keine festgelegte Sitzung mit dem Dienst vorhanden ist

In diesen Fällen muss die Anforderung innerhalb einer Popup- oder Vollframeumleitung erfolgen.

Für fälle, in denen interaktion erforderlich ist, können Sie keine Anforderung mit prompt=none senden.

Wenn Ihr Aktualisierungstoken abgelaufen ist, können Sie diese Funktion verwenden, um einen neuen Satz von Token im Hintergrund abzurufen, solange Die Sitzung auf dem Server noch vorhanden ist.

Details zur Methode

acquireTokenByCode(AuthorizationCodeRequest)

Diese Funktion löst einen Autorisierungscode (als Code übergeben) vom eSTS-Tokenendpunkt ein. Dieser Autorisierungscode sollte serverseitig mithilfe eines vertraulichen Clients abgerufen werden, um eine spa_code zu erwerben. Diese API wird nicht für die normale Autorisierungscodeakquise und -einlösung eingerückt.

Die Einlösung dieses Autorisierungscodes erfordert keine PKCE, da sie von einem vertraulichen Kunden erworben wurde.

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

Parameter

Gibt zurück

Eine Zusage, die erfüllt ist, wenn diese Funktion abgeschlossen wurde, oder abgelehnt, wenn ein Fehler ausgelöst wurde.

acquireTokenPopup(PopupRequest)

Verwenden Sie diesen Vorgang, wenn Sie eine access_token für Ihre API abrufen möchten, indem Sie ein Popupfenster im Browser des Benutzers öffnen.

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

Parameter

request
PopupRequest

Gibt zurück

Eine Zusage, die erfüllt ist, wenn diese Funktion abgeschlossen wurde, oder abgelehnt, wenn ein Fehler ausgelöst wurde.

acquireTokenRedirect(RedirectRequest)

Verwenden Sie diesen Vorgang, wenn Sie eine access_token für Ihre API abrufen möchten, indem Sie das Browserfenster des Benutzers an den Autorisierungsendpunkt umleiten. Diese Funktion leitet die Seite um, sodass code, der auf diese Funktion folgt, nicht ausgeführt wird.

WICHTIG: Es wird NICHT empfohlen, Code zu haben, der von der Auflösung der Zusage abhängig ist. Diese Funktion navigiert vom aktuellen Browserfenster weg. Es gibt derzeit eine Zusage zurück, um die asynchrone Art des Codes widerzuspiegeln, der in dieser Funktion ausgeführt wird.

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

Parameter

request
RedirectRequest

Gibt zurück

Promise<void>

acquireTokenSilent(SilentRequest)

Rufen Sie automatisch ein Zugriffstoken für einen bestimmten Satz von Bereichen ab. Gibt zurzeit eine Zusage zur Verarbeitung zurück, wenn parallele Anforderungen gestellt werden.

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

Parameter

silentRequest
SilentRequest

Gibt zurück

  • eine Zusage, die erfüllt wird, wenn diese Funktion abgeschlossen wurde, oder abgelehnt, wenn ein Fehler ausgelöst wurde. Gibt das AuthenticationResult - Objekt zurück.

addEventCallback(EventCallbackFunction, EventType[])

Fügt Dem Array Ereignisrückrufe hinzu.

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

Parameter

eventTypes

EventType[]

Gibt zurück

null | string

addPerformanceCallback(PerformanceCallbackFunction)

Registriert einen Rückruf zum Empfangen von Leistungsereignissen.

function addPerformanceCallback(callback: PerformanceCallbackFunction): string

Parameter

Gibt zurück

string

clearCache(ClearCacheRequest)

Löscht Token und Konto aus dem Browsercache.

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

Parameter

logoutRequest
ClearCacheRequest

Gibt zurück

Promise<void>

createPublicClientApplication(Configuration)

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

Parameter

configuration
Configuration

Gibt zurück

disableAccountStorageEvents()

Entfernt ereignislistener, der ein Ereignis ausgibt, wenn ein Benutzerkonto in einer anderen Browserregisterkarte oder einem anderen Browserfenster hinzugefügt oder daraus entfernt wird.

function disableAccountStorageEvents()

enableAccountStorageEvents()

Fügt Ereignislistener hinzu, der ein Ereignis ausgibt, wenn ein Benutzerkonto in einer anderen Browserregisterkarte oder einem anderen Browserfenster hinzugefügt oder aus dem LocalStorage entfernt wird.

function enableAccountStorageEvents()

getAccount(AccountFilter)

Gibt das erste Konto im Cache zurück, das dem übergebenen Kontofilter entspricht.

function getAccount(accountFilter: AccountFilter): null | AccountInfo

Parameter

accountFilter
AccountFilter

Gibt zurück

null | AccountInfo

Das erste Konto, das im Cache gefunden wurde, das dem bereitgestellten Filter oder null entspricht, wenn kein Konto gefunden werden konnte.

getAccountByHomeId(string)

Warnung

Diese API ist nun veraltet.

  • Use getAccount instead

Gibt die angemeldete kontoabgleiche homeAccountId zurück. (das Kontoobjekt wird zum Zeitpunkt der erfolgreichen Anmeldung erstellt) oder NULL, wenn kein übereinstimmender Konto gefunden wird.

function getAccountByHomeId(homeAccountId: string): null | AccountInfo

Parameter

homeAccountId

string

Gibt zurück

null | AccountInfo

Das kontoobjekt, das in MSAL gespeichert ist

getAccountByLocalId(string)

Warnung

Diese API ist nun veraltet.

  • Use getAccount instead

Gibt die angemeldete kontoabgleiche localAccountId zurück. (das Kontoobjekt wird zum Zeitpunkt der erfolgreichen Anmeldung erstellt) oder NULL, wenn kein übereinstimmender Konto gefunden wird.

function getAccountByLocalId(localId: string): null | AccountInfo

Parameter

localId

string

Gibt zurück

null | AccountInfo

Das kontoobjekt, das in MSAL gespeichert ist

getAccountByUsername(string)

Warnung

Diese API ist nun veraltet.

  • Use getAccount instead

Gibt den angemeldeten Kontonamen zurück, der dem Benutzernamen entspricht. (das Kontoobjekt wird zum Zeitpunkt der erfolgreichen Anmeldung erstellt) oder NULL, wenn kein übereinstimmende Konto gefunden wird. Diese API wird zur Vereinfachung bereitgestellt, aber getAccountById sollte für optimale Zuverlässigkeit verwendet werden.

function getAccountByUsername(userName: string): null | AccountInfo

Parameter

userName

string

Gibt zurück

null | AccountInfo

Das kontoobjekt, das in MSAL gespeichert ist

getActiveAccount()

Ruft das derzeit aktive Konto ab.

function getActiveAccount(): null | AccountInfo

Gibt zurück

null | AccountInfo

getAllAccounts(AccountFilter)

Gibt alle Konten im Cache zurück, die dem optionalen Filter entsprechen. Wenn kein Filter bereitgestellt wird, werden alle Konten zurückgegeben.

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

Parameter

accountFilter
AccountFilter

(Optional) Filter, um die zurückgegebenen Konten einzugrenzen

Gibt zurück

Array von AccountInfo-Objekten im Cache

getLogger()

Gibt die Loggerinstanz zurück.

function getLogger(): Logger

Gibt zurück

getTokenCache()

Ruft den Tokencache für die Anwendung ab.

function getTokenCache(): ITokenCache

Gibt zurück

handleRedirectPromise(string)

Ereignishandlerfunktion, mit der Benutzer Ereignisse auslösen können, nachdem das PublicClientApplication-Objekt während der Umleitungsflüsse geladen wurde. Dies sollte auf allen Seitenladevorgängen aufgerufen werden, die an Umleitungs-Authentifizierungsflüssen beteiligt sind.

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

Parameter

hash

string

Zu verarbeitenden Hash. Standardmäßig wird der aktuelle Wert von "window.location.hash" verwendet. Es muss nur explizit angegeben werden, wenn die zu behandelnde Antwort nicht im aktuellen Wert enthalten ist.

Gibt zurück

Promise<null | AuthenticationResult>

Tokenantwort oder NULL. Wenn der Rückgabewert null ist, wurde keine Authentifizierungsumleitung erkannt.

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

Hydrates cache with the tokens and account in the AuthenticationResult object

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

Parameter

request

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

Das Anforderungsobjekt, das zum Abrufen des AuthenticationResult verwendet wurde

Gibt zurück

Promise<void>

initialize()

Initialisierungsfunktion zum Ausführen asynchroner Startaufgaben, z. B. herstellen einer Verbindung mit der WAM-Erweiterung

function initialize(): Promise<void>

Gibt zurück

Promise<void>

initializeWrapperLibrary(WrapperSKU, string)

Wird von Wrapperbibliotheken (Angular & React) aufgerufen, um SKU und Version festzulegen, die an Telemetrie, Logger usw. übergeben wurde.

function initializeWrapperLibrary(sku: WrapperSKU, version: string)

Parameter

version

string

loginPopup(PopupRequest)

Verwendung beim Initiieren des Anmeldevorgangs durch Öffnen eines Popupfensters im Browser des Benutzers

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

Parameter

request
PopupRequest

Gibt zurück

Eine Zusage, die erfüllt ist, wenn diese Funktion abgeschlossen wurde, oder abgelehnt, wenn ein Fehler ausgelöst wurde.

loginRedirect(RedirectRequest)

Wird beim Initiieren des Anmeldevorgangs verwendet, indem Sie den Browser des Benutzers an den Autorisierungsendpunkt umleiten. Diese Funktion leitet die Seite um, sodass code, der auf diese Funktion folgt, nicht ausgeführt wird.

WICHTIG: Es wird NICHT empfohlen, Code zu haben, der von der Auflösung der Zusage abhängig ist. Diese Funktion navigiert vom aktuellen Browserfenster weg. Es gibt derzeit eine Zusage zurück, um die asynchrone Art des Codes widerzuspiegeln, der in dieser Funktion ausgeführt wird.

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

Parameter

request
RedirectRequest

Gibt zurück

Promise<void>

logout(EndSessionRequest)

Warnung

Diese API ist nun veraltet.

Veraltete Abmeldefunktion. Verwenden Sie stattdessen "logoutRedirect" oder "logoutPopup".

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

Parameter

logoutRequest
EndSessionRequest

Gibt zurück

Promise<void>

logoutPopup(EndSessionRequest)

Löscht den lokalen Cache für den aktuellen Benutzer und öffnet dann ein Popupfenster, in dem der Benutzer aufgefordert wird, sich vom Server abzumelden.

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

Parameter

logoutRequest
EndSessionRequest

Gibt zurück

Promise<void>

logoutRedirect(EndSessionRequest)

Wird verwendet, um den aktuellen Benutzer abzumelden und den Benutzer an den postLogoutRedirectUri umzuleiten. Das Standardverhalten besteht darin, den Benutzer auf window.location.href.

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

Parameter

logoutRequest
EndSessionRequest

Gibt zurück

Promise<void>

removeEventCallback(string)

Entfernt Rückruf mit bereitgestellter ID aus dem Rückrufarray.

function removeEventCallback(callbackId: string)

Parameter

callbackId

string

removePerformanceCallback(string)

Entfernt einen mit addPerformanceCallback registrierten Rückruf.

function removePerformanceCallback(callbackId: string): boolean

Parameter

callbackId

string

Gibt zurück

boolean

setActiveAccount(null | AccountInfo)

Legt das Konto fest, das als aktives Konto verwendet werden soll. Wenn kein Konto an die AcquireToken-APIs übergeben wird, verwendet MSAL dieses aktive Konto.

function setActiveAccount(account: null | AccountInfo)

Parameter

account

null | AccountInfo

setLogger(Logger)

Ersetzt den Standardprotokollierer in Konfigurationen durch neuen Logger durch neue Konfigurationen.

function setLogger(logger: Logger)

Parameter

logger
Logger

Loggerinstanz

setNavigationClient(INavigationClient)

Legt den Navigationsclient fest

function setNavigationClient(navigationClient: INavigationClient)

Parameter

navigationClient
INavigationClient

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

Diese Funktion verwendet einen ausgeblendeten iFrame, um einen Autorisierungscode aus dem eSTS abzurufen. Es gibt Fälle, in denen dies möglicherweise nicht funktioniert:

  • Jeder Browser, der eine Form der intelligenten Tracking-Verhinderung verwendet
  • Wenn keine festgelegte Sitzung mit dem Dienst vorhanden ist

In diesen Fällen muss die Anforderung innerhalb einer Popup- oder Vollframeumleitung erfolgen.

Für fälle, in denen interaktion erforderlich ist, können Sie keine Anforderung mit prompt=none senden.

Wenn Ihr Aktualisierungstoken abgelaufen ist, können Sie diese Funktion verwenden, um einen neuen Satz von Token im Hintergrund abzurufen, solange Die Sitzung auf dem Server noch vorhanden ist.

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">>

SsoSilentRequest

Gibt zurück

Eine Zusage, die erfüllt ist, wenn diese Funktion abgeschlossen wurde, oder abgelehnt, wenn ein Fehler ausgelöst wurde.