PublicClientNext class

PublicClientNext est un aperçu précoce de l’implémentation planifiée de PublicClientApplication dans la prochaine version majeure de MSAL.js. Il contient la prise en charge de plusieurs implémentations d’API basées sur l’environnement d’exécution dans lequel elle s’exécute.

Les objectifs de ces modifications sont de fournir une séparation propre du comportement entre différents contextes d’exploitation (authentification d’application imbriquée, répartiteur de plateforme, ancien navigateur, etc.) tout en fournissant une surface d’API cohérente pour les développeurs.

Utilisez PublicClientApplication pour tous les scénarios prod/real-world. Remarque : PublicClientNext est expérimental et soumis à des changements cassants sans semver suivant

Méthodes

acquireTokenByCode(AuthorizationCodeRequest)

Cette fonction échange un code d’autorisation (passé en tant que code) à partir du point de terminaison de jeton eSTS. Ce code d’autorisation doit être acquis côté serveur à l’aide d’un client confidentiel pour acquérir une spa_code. Cette API n’est pas indendée pour l’acquisition et l’échange de code d’autorisation normaux.

L’échange de ce code d’autorisation ne nécessite pas PKCE, car il a été acquis par un client confidentiel.

acquireTokenPopup(PopupRequest)

Utilisez quand vous souhaitez obtenir un access_token pour votre API via l’ouverture d’une fenêtre contextuelle dans le navigateur de l’utilisateur

acquireTokenRedirect(RedirectRequest)

Utilisez quand vous souhaitez obtenir une access_token pour votre API en redirigeant la fenêtre du navigateur de l’utilisateur vers le point de terminaison d’autorisation. Cette fonction redirige la page, de sorte que tout code qui suit cette fonction ne s’exécute pas.

IMPORTANT : Il n’est pas recommandé d’avoir du code dépendant de la résolution de la promesse. Cette fonction s’éloigne de la fenêtre de navigateur actuelle. Elle retourne actuellement une promesse pour refléter la nature asynchrone du code en cours d’exécution dans cette fonction.

acquireTokenSilent(SilentRequest)

Acquérir silencieusement un jeton d’accès pour un ensemble donné d’étendues. Retourne actuellement la promesse de traitement si des requêtes parallèles sont effectuées.

addEventCallback(EventCallbackFunction, EventType[])

Ajoute des rappels d’événements au tableau

addPerformanceCallback(PerformanceCallbackFunction)

Inscrit un rappel pour recevoir des événements de performances.

clearCache(ClearCacheRequest)

Efface les jetons et le compte du cache du navigateur.

createPublicClientApplication(Configuration)
disableAccountStorageEvents()

Supprime l’écouteur d’événements qui émet un événement lorsqu’un compte d’utilisateur est ajouté ou supprimé de localstorage dans un autre onglet ou fenêtre de navigateur

enableAccountStorageEvents()

Ajoute l’écouteur d’événements qui émet un événement lorsqu’un compte d’utilisateur est ajouté ou supprimé de localstorage dans un autre onglet ou fenêtre de navigateur

getAccount(AccountFilter)

Retourne le premier compte trouvé dans le cache qui correspond au filtre de compte transmis.

getAccountByHomeId(string)

Retourne le compte connecté correspondant à homeAccountId. (l’objet de compte est créé au moment de la connexion réussie) ou null lorsqu’aucun compte correspondant n’est trouvé

getAccountByLocalId(string)

Retourne le compte connecté correspondant à localAccountId. (l’objet de compte est créé au moment de la connexion réussie) ou null lorsqu’aucun compte correspondant n’est trouvé

getAccountByUsername(string)

Retourne le nom d’utilisateur correspondant au compte connecté. (l’objet de compte est créé au moment de la connexion réussie) ou null lorsqu’aucun compte correspondant n’est trouvé. Cette API est fournie pour des raisons pratiques, mais getAccountById doit être utilisée pour une meilleure fiabilité

getActiveAccount()

Obtient le compte actif actuellement

getAllAccounts(AccountFilter)

Retourne tous les comptes dans le cache qui correspondent au filtre facultatif. Si aucun filtre n’est fourni, tous les comptes sont retournés.

getLogger()

Retourne l’instance de l’enregistreur d’événements

getTokenCache()

Obtient le cache de jetons de l’application.

handleRedirectPromise(string)

Fonction de gestionnaire d’événements qui permet aux utilisateurs de déclencher des événements après le chargement de l’objet PublicClientApplication pendant les flux de redirection. Cette opération doit être appelée sur toutes les charges de page impliquées dans les flux d’authentification de redirection.

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

Hydrate le cache avec les jetons et le compte dans l’objet AuthenticationResult

initialize()

Fonction Initialiseur pour effectuer des tâches de démarrage asynchrones telles que la connexion à l’extension WAM

initializeWrapperLibrary(WrapperSKU, string)

Appelée par les bibliothèques wrapper (Angular &React) pour définir la référence SKU et la version transmises à la télémétrie, à l’enregistreur d’événements, etc.

loginPopup(PopupRequest)

Utiliser lors du lancement du processus de connexion via l’ouverture d’une fenêtre contextuelle dans le navigateur de l’utilisateur

loginRedirect(RedirectRequest)

Utilisez-la lors du lancement du processus de connexion en redirigeant le navigateur de l’utilisateur vers le point de terminaison d’autorisation. Cette fonction redirige la page, de sorte que tout code qui suit cette fonction ne s’exécute pas.

IMPORTANT : Il n’est pas recommandé d’avoir du code dépendant de la résolution de la promesse. Cette fonction s’éloigne de la fenêtre de navigateur actuelle. Elle retourne actuellement une promesse pour refléter la nature asynchrone du code en cours d’exécution dans cette fonction.

logout(EndSessionRequest)

Fonction de déconnexion déconseillée. Utiliser logoutRedirect ou logoutPopup à la place

logoutPopup(EndSessionRequest)

Efface le cache local de l’utilisateur actuel, puis ouvre une fenêtre contextuelle invitant l’utilisateur à se déconnecter du serveur

logoutRedirect(EndSessionRequest)

Permet de déconnecter l’utilisateur actuel et de rediriger l’utilisateur vers le postLogoutRedirectUri. Le comportement par défaut consiste à rediriger l’utilisateur vers window.location.href.

removeEventCallback(string)

Supprime le rappel avec l’ID fourni du tableau de rappels

removePerformanceCallback(string)

Supprime un rappel inscrit avec addPerformanceCallback.

setActiveAccount(null | AccountInfo)

Définit le compte à utiliser comme compte actif. Si aucun compte n’est transmis aux API acquireToken, MSAL utilise ce compte actif.

setLogger(Logger)

Remplace le jeu d’événements par défaut dans les configurations par le nouvel enregistreur d’événements par de nouvelles configurations

setNavigationClient(INavigationClient)

Définit le client de navigation

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

Cette fonction utilise un iframe masqué pour extraire un code d’autorisation à partir de l’eSTS. Il existe des cas où cela peut ne pas fonctionner :

  • Tout navigateur utilisant une forme de prévention intelligente du suivi
  • S’il n’existe pas de session établie avec le service

Dans ces cas, la requête doit être effectuée à l’intérieur d’une redirection contextuelle ou de trame complète.

Pour les cas où l’interaction est requise, vous ne pouvez pas envoyer une demande avec prompt=none.

Si votre jeton d’actualisation a expiré, vous pouvez utiliser cette fonction pour récupérer un nouvel ensemble de jetons en mode silencieux tant que vous session sur le serveur existe toujours.

Détails de la méthode

acquireTokenByCode(AuthorizationCodeRequest)

Cette fonction échange un code d’autorisation (passé en tant que code) à partir du point de terminaison de jeton eSTS. Ce code d’autorisation doit être acquis côté serveur à l’aide d’un client confidentiel pour acquérir une spa_code. Cette API n’est pas indendée pour l’acquisition et l’échange de code d’autorisation normaux.

L’échange de ce code d’autorisation ne nécessite pas PKCE, car il a été acquis par un client confidentiel.

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

Paramètres

Retours

Promesse qui est remplie lorsque cette fonction est terminée ou rejetée si une erreur a été générée.

acquireTokenPopup(PopupRequest)

Utilisez quand vous souhaitez obtenir un access_token pour votre API via l’ouverture d’une fenêtre contextuelle dans le navigateur de l’utilisateur

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

Paramètres

request
PopupRequest

Retours

Promesse qui est remplie lorsque cette fonction est terminée ou rejetée si une erreur a été générée.

acquireTokenRedirect(RedirectRequest)

Utilisez quand vous souhaitez obtenir une access_token pour votre API en redirigeant la fenêtre du navigateur de l’utilisateur vers le point de terminaison d’autorisation. Cette fonction redirige la page, de sorte que tout code qui suit cette fonction ne s’exécute pas.

IMPORTANT : Il n’est pas recommandé d’avoir du code dépendant de la résolution de la promesse. Cette fonction s’éloigne de la fenêtre de navigateur actuelle. Elle retourne actuellement une promesse pour refléter la nature asynchrone du code en cours d’exécution dans cette fonction.

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

Paramètres

request
RedirectRequest

Retours

Promise<void>

acquireTokenSilent(SilentRequest)

Acquérir silencieusement un jeton d’accès pour un ensemble donné d’étendues. Retourne actuellement la promesse de traitement si des requêtes parallèles sont effectuées.

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

Paramètres

silentRequest
SilentRequest

Retours

  • une promesse qui est remplie lorsque cette fonction est terminée ou rejetée si une erreur a été générée. Renvoie l’objet AuthenticationResult

addEventCallback(EventCallbackFunction, EventType[])

Ajoute des rappels d’événements au tableau

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

Paramètres

eventTypes

EventType[]

Retours

null | string

addPerformanceCallback(PerformanceCallbackFunction)

Inscrit un rappel pour recevoir des événements de performances.

function addPerformanceCallback(callback: PerformanceCallbackFunction): string

Paramètres

Retours

string

clearCache(ClearCacheRequest)

Efface les jetons et le compte du cache du navigateur.

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

Paramètres

logoutRequest
ClearCacheRequest

Retours

Promise<void>

createPublicClientApplication(Configuration)

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

Paramètres

configuration
Configuration

Retours

disableAccountStorageEvents()

Supprime l’écouteur d’événements qui émet un événement lorsqu’un compte d’utilisateur est ajouté ou supprimé de localstorage dans un autre onglet ou fenêtre de navigateur

function disableAccountStorageEvents()

enableAccountStorageEvents()

Ajoute l’écouteur d’événements qui émet un événement lorsqu’un compte d’utilisateur est ajouté ou supprimé de localstorage dans un autre onglet ou fenêtre de navigateur

function enableAccountStorageEvents()

getAccount(AccountFilter)

Retourne le premier compte trouvé dans le cache qui correspond au filtre de compte transmis.

function getAccount(accountFilter: AccountFilter): null | AccountInfo

Paramètres

accountFilter
AccountFilter

Retours

null | AccountInfo

Premier compte trouvé dans le cache correspondant au filtre fourni ou null si aucun compte n’est trouvé.

getAccountByHomeId(string)

Avertissement

Cette API est à présent déconseillée.

  • Use getAccount instead

Retourne le compte connecté correspondant à homeAccountId. (l’objet de compte est créé au moment de la connexion réussie) ou null lorsqu’aucun compte correspondant n’est trouvé

function getAccountByHomeId(homeAccountId: string): null | AccountInfo

Paramètres

homeAccountId

string

Retours

null | AccountInfo

Objet de compte stocké dans MSAL

getAccountByLocalId(string)

Avertissement

Cette API est à présent déconseillée.

  • Use getAccount instead

Retourne le compte connecté correspondant à localAccountId. (l’objet de compte est créé au moment de la connexion réussie) ou null lorsqu’aucun compte correspondant n’est trouvé

function getAccountByLocalId(localId: string): null | AccountInfo

Paramètres

localId

string

Retours

null | AccountInfo

Objet de compte stocké dans MSAL

getAccountByUsername(string)

Avertissement

Cette API est à présent déconseillée.

  • Use getAccount instead

Retourne le nom d’utilisateur correspondant au compte connecté. (l’objet de compte est créé au moment de la connexion réussie) ou null lorsqu’aucun compte correspondant n’est trouvé. Cette API est fournie pour des raisons pratiques, mais getAccountById doit être utilisée pour une meilleure fiabilité

function getAccountByUsername(userName: string): null | AccountInfo

Paramètres

userName

string

Retours

null | AccountInfo

Objet de compte stocké dans MSAL

getActiveAccount()

Obtient le compte actif actuellement

function getActiveAccount(): null | AccountInfo

Retours

null | AccountInfo

getAllAccounts(AccountFilter)

Retourne tous les comptes dans le cache qui correspondent au filtre facultatif. Si aucun filtre n’est fourni, tous les comptes sont retournés.

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

Paramètres

accountFilter
AccountFilter

(Facultatif) filtre pour affiner les comptes retournés

Retours

Tableau d’objets AccountInfo dans le cache

getLogger()

Retourne l’instance de l’enregistreur d’événements

function getLogger(): Logger

Retours

getTokenCache()

Obtient le cache de jetons de l’application.

function getTokenCache(): ITokenCache

Retours

handleRedirectPromise(string)

Fonction de gestionnaire d’événements qui permet aux utilisateurs de déclencher des événements après le chargement de l’objet PublicClientApplication pendant les flux de redirection. Cette opération doit être appelée sur toutes les charges de page impliquées dans les flux d’authentification de redirection.

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

Paramètres

hash

string

Hachage à traiter. Correspond par défaut à la valeur actuelle de window.location.hash. Doit uniquement être fournie explicitement si la réponse à gérer n’est pas contenue dans la valeur actuelle.

Retours

Promise<null | AuthenticationResult>

Réponse du jeton ou null. Si la valeur de retour est Null, aucune redirection d’authentification n’a été détectée.

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

Hydrate le cache avec les jetons et le compte dans l’objet AuthenticationResult

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

Paramètres

request

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

Objet de requête utilisé pour obtenir AuthenticationResult

Retours

Promise<void>

initialize()

Fonction Initialiseur pour effectuer des tâches de démarrage asynchrones telles que la connexion à l’extension WAM

function initialize(): Promise<void>

Retours

Promise<void>

initializeWrapperLibrary(WrapperSKU, string)

Appelée par les bibliothèques wrapper (Angular &React) pour définir la référence SKU et la version transmises à la télémétrie, à l’enregistreur d’événements, etc.

function initializeWrapperLibrary(sku: WrapperSKU, version: string)

Paramètres

version

string

loginPopup(PopupRequest)

Utiliser lors du lancement du processus de connexion via l’ouverture d’une fenêtre contextuelle dans le navigateur de l’utilisateur

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

Paramètres

request
PopupRequest

Retours

Promesse qui est remplie lorsque cette fonction est terminée ou rejetée si une erreur a été générée.

loginRedirect(RedirectRequest)

Utilisez-la lors du lancement du processus de connexion en redirigeant le navigateur de l’utilisateur vers le point de terminaison d’autorisation. Cette fonction redirige la page, de sorte que tout code qui suit cette fonction ne s’exécute pas.

IMPORTANT : Il n’est pas recommandé d’avoir du code dépendant de la résolution de la promesse. Cette fonction s’éloigne de la fenêtre de navigateur actuelle. Elle retourne actuellement une promesse pour refléter la nature asynchrone du code en cours d’exécution dans cette fonction.

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

Paramètres

request
RedirectRequest

Retours

Promise<void>

logout(EndSessionRequest)

Avertissement

Cette API est à présent déconseillée.

Fonction de déconnexion déconseillée. Utiliser logoutRedirect ou logoutPopup à la place

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

Paramètres

logoutRequest
EndSessionRequest

Retours

Promise<void>

logoutPopup(EndSessionRequest)

Efface le cache local de l’utilisateur actuel, puis ouvre une fenêtre contextuelle invitant l’utilisateur à se déconnecter du serveur

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

Paramètres

logoutRequest
EndSessionRequest

Retours

Promise<void>

logoutRedirect(EndSessionRequest)

Permet de déconnecter l’utilisateur actuel et de rediriger l’utilisateur vers le postLogoutRedirectUri. Le comportement par défaut consiste à rediriger l’utilisateur vers window.location.href.

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

Paramètres

logoutRequest
EndSessionRequest

Retours

Promise<void>

removeEventCallback(string)

Supprime le rappel avec l’ID fourni du tableau de rappels

function removeEventCallback(callbackId: string)

Paramètres

callbackId

string

removePerformanceCallback(string)

Supprime un rappel inscrit avec addPerformanceCallback.

function removePerformanceCallback(callbackId: string): boolean

Paramètres

callbackId

string

Retours

boolean

setActiveAccount(null | AccountInfo)

Définit le compte à utiliser comme compte actif. Si aucun compte n’est transmis aux API acquireToken, MSAL utilise ce compte actif.

function setActiveAccount(account: null | AccountInfo)

Paramètres

account

null | AccountInfo

setLogger(Logger)

Remplace le jeu d’événements par défaut dans les configurations par le nouvel enregistreur d’événements par de nouvelles configurations

function setLogger(logger: Logger)

Paramètres

logger
Logger

Instance d’enregistreur d’événements

setNavigationClient(INavigationClient)

Définit le client de navigation

function setNavigationClient(navigationClient: INavigationClient)

Paramètres

navigationClient
INavigationClient

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

Cette fonction utilise un iframe masqué pour extraire un code d’autorisation à partir de l’eSTS. Il existe des cas où cela peut ne pas fonctionner :

  • Tout navigateur utilisant une forme de prévention intelligente du suivi
  • S’il n’existe pas de session établie avec le service

Dans ces cas, la requête doit être effectuée à l’intérieur d’une redirection contextuelle ou de trame complète.

Pour les cas où l’interaction est requise, vous ne pouvez pas envoyer une demande avec prompt=none.

Si votre jeton d’actualisation a expiré, vous pouvez utiliser cette fonction pour récupérer un nouvel ensemble de jetons en mode silencieux tant que vous session sur le serveur existe toujours.

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

Paramètres

request

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

SsoSilentRequest

Retours

Promesse qui est remplie lorsque cette fonction est terminée ou rejetée si une erreur a été générée.