PublicClientApplication class
La classe PublicClientApplication est l’objet exposé par la bibliothèque pour effectuer des fonctions d’authentification et d’autorisation dans des applications monopage pour obtenir des jetons JWT, comme décrit dans le flux de code d’autorisation OAuth 2.0 avec la spécification PKCE.
Constructeurs
| Public |
Méthodes
| acquire |
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. |
| acquire |
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 |
| acquire |
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. |
| acquire |
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. |
| add |
Ajoute des rappels d’événements au tableau |
| add |
Inscrit un rappel pour recevoir des événements de performances. |
| clear |
Efface les jetons et le compte du cache du navigateur. |
| create |
Crée StandardController et le transmet à PublicClientApplication |
| disable |
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 |
| enable |
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 |
| get |
Retourne le premier compte trouvé dans le cache qui correspond au filtre de compte transmis. |
| get |
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é |
| get |
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é |
| get |
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é |
| get |
Obtient le compte actif actuellement |
| get |
Retourne tous les comptes dans le cache qui correspondent au filtre facultatif. Si aucun filtre n’est fourni, tous les comptes sont retournés. |
| get |
Retourne l’instance de l’enregistreur d’événements |
| get |
Obtient le cache de jetons de l’application. |
| handle |
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. |
| hydrate |
Hydrate le cache avec les jetons et le compte dans l’objet AuthenticationResult |
| initialize(Initialize |
Fonction Initialiseur pour effectuer des tâches de démarrage asynchrones telles que la connexion à l’extension WAM |
| initialize |
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. |
| login |
Utiliser lors du lancement du processus de connexion via l’ouverture d’une fenêtre contextuelle dans le navigateur de l’utilisateur |
| login |
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(End |
Fonction de déconnexion déconseillée. Utiliser logoutRedirect ou logoutPopup à la place |
| logout |
Efface le cache local de l’utilisateur actuel, puis ouvre une fenêtre contextuelle invitant l’utilisateur à se déconnecter du serveur |
| logout |
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 |
| remove |
Supprime le rappel avec l’ID fourni du tableau de rappels |
| remove |
Supprime un rappel inscrit avec addPerformanceCallback. |
| set |
Définit le compte à utiliser comme compte actif. Si aucun compte n’est transmis aux API acquireToken, MSAL utilise ce compte actif. |
| set |
Remplace le jeu d’événements par défaut dans les configurations par le nouvel enregistreur d’événements par de nouvelles configurations |
| set |
Définit le client de navigation |
| sso |
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 :
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 du constructeur
PublicClientApplication(Configuration, IController)
new PublicClientApplication(configuration: Configuration, controller?: IController)
Paramètres
- configuration
- Configuration
Objet de l’instance MSAL PublicClientApplication
- controller
- IController
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
Promise<AuthenticationResult>
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
Promise<AuthenticationResult>
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
Promise<AuthenticationResult>
- 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
- callback
- EventCallbackFunction
- eventTypes
Retours
null | string
addPerformanceCallback(PerformanceCallbackFunction)
Inscrit un rappel pour recevoir des événements de performances.
function addPerformanceCallback(callback: PerformanceCallbackFunction): string
Paramètres
- callback
- PerformanceCallbackFunction
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)
Crée StandardController et le transmet à PublicClientApplication
static function createPublicClientApplication(configuration: Configuration): Promise<IPublicClientApplication>
Paramètres
- configuration
- Configuration
{Configuration}
Retours
Promise<IPublicClientApplication>
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()
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
- result
- AuthenticationResult
- 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(InitializeApplicationRequest)
Fonction Initialiseur pour effectuer des tâches de démarrage asynchrones telles que la connexion à l’extension WAM
function initialize(request?: InitializeApplicationRequest): Promise<void>
Paramètres
- request
- InitializeApplicationRequest
{? InitializeApplicationRequest}
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
- sku
- WrapperSKU
- 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
Promise<AuthenticationResult>
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(EndSessionPopupRequest)
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?: EndSessionPopupRequest): Promise<void>
Paramètres
- logoutRequest
- EndSessionPopupRequest
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">>
Retours
Promise<AuthenticationResult>
Promesse qui est remplie lorsque cette fonction est terminée ou rejetée si une erreur a été générée.