PublicClientApplication class

Cette classe doit être utilisée pour acquérir des jetons pour les applications clientes publiques (bureau, mobile). Les applications clientes publiques ne sont pas approuvées pour stocker en toute sécurité les secrets d’application et peuvent donc demander uniquement des jetons au nom d’un utilisateur.

Extends

Constructeurs

PublicClientApplication(Configuration)

Les attributs importants dans l’objet Configuration pour l’authentification sont les suivants :

  • clientID : ID d’application de votre application. Vous pouvez en obtenir un en inscrivant votre application auprès de notre portail d’inscription d’application.
  • autorité : URL de l’autorité pour votre application.

Les autorités AAD sont de la forme https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}.

  • Si votre application prend en charge les comptes dans un annuaire organisationnel, remplacez la valeur « Enter_the_Tenant_Info_Here » par l’ID de locataire ou le nom du locataire (par exemple, contoso.microsoft.com).
  • Si votre application prend en charge les comptes dans un annuaire organisationnel, remplacez la valeur « Enter_the_Tenant_Info_Here » par les organisations.
  • Si votre application prend en charge les comptes dans n’importe quel annuaire organisationnel et comptes de Microsoft personnels, remplacez la valeur « Enter_the_Tenant_Info_Here » par la valeur commune.
  • Pour restreindre la prise en charge des comptes personnels Microsoft uniquement, remplacez la valeur « Enter_the_Tenant_Info_Here » par les consommateurs.

Azure autorités B2C sont de la forme https://{instance}/{locataire}/{policy}. Chaque stratégie est considérée comme sa propre autorité. Vous devrez définir toutes les authentifications connues au moment de la construction de l’application cliente.

Les autorités ADFS sont de la forme https://{instance}/adfs.

Méthodes

acquireTokenByDeviceCode(DeviceCodeRequest)

Acquiert un jeton de l’autorité à l’aide du flux de code d’appareil OAuth2.0. Ce flux est conçu pour les appareils qui n’ont pas accès à un navigateur ou qui ont des contraintes d’entrée. Le serveur d’autorisation émet un objet DeviceCode avec un code de vérification, un code utilisateur final et l’URI de vérification de l’utilisateur final. L’objet DeviceCode est fourni via un rappel, et l’utilisateur final doit être invité à utiliser un autre appareil pour accéder à l’URI de vérification pour entrer les informations d’identification. Étant donné que le client ne peut pas recevoir de demandes entrantes, il interroge le serveur d’autorisation à plusieurs reprises jusqu’à ce que l’utilisateur final termine l’entrée des informations d’identification.

acquireTokenInteractive(InteractiveRequest)

Acquiert un jeton de manière interactive via le navigateur en demandant un code d’autorisation, puis en l’échangeant pour un jeton.

acquireTokenSilent(SilentFlowRequest)

Retourne un jeton récupéré à partir du cache ou en échangeant le jeton d’actualisation pour un nouveau jeton d’accès. Si le répartiteur est activé, la demande de jeton sera prise en charge par le répartiteur.

getAllAccounts()

Retourne tous les comptes mis en cache pour cette application. Si le répartiteur est activé, cette demande sera prise en charge par le répartiteur.

signOut(SignOutRequest)

Supprime les artefacts de cache associés au compte donné

Méthodes héritées

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Acquiert un jeton en échangeant le code d’autorisation reçu à partir de la première étape du flux de code d’autorisation OAuth2.0.

getAuthCodeUrl(AuthorizationCodeUrlRequest) peut être utilisé pour créer l’URL de la première étape du flux de code d’autorisation OAuth2.0. Vérifiez que les valeurs de redirectUri et d’étendues dans AuthorizationCodeUrlRequest et AuthorizationCodeRequest sont identiques.

acquireTokenByRefreshToken(RefreshTokenRequest)

Acquiert un jeton en échangeant le jeton d’actualisation fourni pour un nouvel ensemble de jetons.

Cette API est fournie uniquement pour les scénarios où vous souhaitez migrer de la bibliothèque ADAL vers MSAL. Sinon, il est recommandé d’utiliser acquireTokenSilent() pour les scénarios silencieux. Lors de l’utilisation acquireTokenSilent(), MSAL gère automatiquement la mise en cache et l’actualisation des jetons.

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Acquiert des jetons avec l’octroi de mot de passe en échangeant le nom d’utilisateur et le mot de passe des applications clientes pour les informations d’identification

La dernière pratique actuelle de sécurité OAuth 2.0 interdit entièrement l’octroi de mot de passe. Pour plus d'informations sur cette recommandation, consultez la https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 documentation et les recommandations de Microsoft :https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

clearCache()

Effacer le cache

getAuthCodeUrl(AuthorizationUrlRequest)

Crée l’URL de la demande d’autorisation, permettant à l’utilisateur d’entrer les informations d’identification et de donner son consentement à l’application. L’URL cible le point de terminaison /authorize de l’autorité configurée dans l’objet d’application.

Une fois que l’utilisateur entre ses informations d’identification et son consentement, l’autorité envoie une réponse à l’URI de redirection envoyé dans la demande et doit contenir un code d’autorisation, qui peut ensuite être utilisé pour acquérir des jetons via acquireTokenByCode(AuthorizationCodeRequest).

getLogger()

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

getTokenCache()

Obtient le cache de jetons de l’application.

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

Détails du constructeur

PublicClientApplication(Configuration)

Les attributs importants dans l’objet Configuration pour l’authentification sont les suivants :

  • clientID : ID d’application de votre application. Vous pouvez en obtenir un en inscrivant votre application auprès de notre portail d’inscription d’application.
  • autorité : URL de l’autorité pour votre application.

Les autorités AAD sont de la forme https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}.

  • Si votre application prend en charge les comptes dans un annuaire organisationnel, remplacez la valeur « Enter_the_Tenant_Info_Here » par l’ID de locataire ou le nom du locataire (par exemple, contoso.microsoft.com).
  • Si votre application prend en charge les comptes dans un annuaire organisationnel, remplacez la valeur « Enter_the_Tenant_Info_Here » par les organisations.
  • Si votre application prend en charge les comptes dans n’importe quel annuaire organisationnel et comptes de Microsoft personnels, remplacez la valeur « Enter_the_Tenant_Info_Here » par la valeur commune.
  • Pour restreindre la prise en charge des comptes personnels Microsoft uniquement, remplacez la valeur « Enter_the_Tenant_Info_Here » par les consommateurs.

Azure autorités B2C sont de la forme https://{instance}/{locataire}/{policy}. Chaque stratégie est considérée comme sa propre autorité. Vous devrez définir toutes les authentifications connues au moment de la construction de l’application cliente.

Les autorités ADFS sont de la forme https://{instance}/adfs.

new PublicClientApplication(configuration: Configuration)

Paramètres

configuration
Configuration

Détails de la méthode

acquireTokenByDeviceCode(DeviceCodeRequest)

Acquiert un jeton de l’autorité à l’aide du flux de code d’appareil OAuth2.0. Ce flux est conçu pour les appareils qui n’ont pas accès à un navigateur ou qui ont des contraintes d’entrée. Le serveur d’autorisation émet un objet DeviceCode avec un code de vérification, un code utilisateur final et l’URI de vérification de l’utilisateur final. L’objet DeviceCode est fourni via un rappel, et l’utilisateur final doit être invité à utiliser un autre appareil pour accéder à l’URI de vérification pour entrer les informations d’identification. Étant donné que le client ne peut pas recevoir de demandes entrantes, il interroge le serveur d’autorisation à plusieurs reprises jusqu’à ce que l’utilisateur final termine l’entrée des informations d’identification.

function acquireTokenByDeviceCode(request: DeviceCodeRequest): Promise<null | AuthenticationResult>

Paramètres

Retours

Promise<null | AuthenticationResult>

acquireTokenInteractive(InteractiveRequest)

Acquiert un jeton de manière interactive via le navigateur en demandant un code d’autorisation, puis en l’échangeant pour un jeton.

function acquireTokenInteractive(request: InteractiveRequest): Promise<AuthenticationResult>

Paramètres

Retours

acquireTokenSilent(SilentFlowRequest)

Retourne un jeton récupéré à partir du cache ou en échangeant le jeton d’actualisation pour un nouveau jeton d’accès. Si le répartiteur est activé, la demande de jeton sera prise en charge par le répartiteur.

function acquireTokenSilent(request: SilentFlowRequest): Promise<AuthenticationResult>

Paramètres

request
SilentFlowRequest

développeur fourni SilentFlowRequest

Retours

getAllAccounts()

Retourne tous les comptes mis en cache pour cette application. Si le répartiteur est activé, cette demande sera prise en charge par le répartiteur.

function getAllAccounts(): Promise<AccountInfo[]>

Retours

Promise<AccountInfo[]>

signOut(SignOutRequest)

Supprime les artefacts de cache associés au compte donné

function signOut(request: SignOutRequest): Promise<void>

Paramètres

request
SignOutRequest

développeur fourni SignOutRequest

Retours

Promise<void>

Détails de la méthode héritée

acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)

Acquiert un jeton en échangeant le code d’autorisation reçu à partir de la première étape du flux de code d’autorisation OAuth2.0.

getAuthCodeUrl(AuthorizationCodeUrlRequest) peut être utilisé pour créer l’URL de la première étape du flux de code d’autorisation OAuth2.0. Vérifiez que les valeurs de redirectUri et d’étendues dans AuthorizationCodeUrlRequest et AuthorizationCodeRequest sont identiques.

function acquireTokenByCode(request: AuthorizationCodeRequest, authCodePayLoad?: AuthorizationCodePayload): Promise<AuthenticationResult>

Paramètres

authCodePayLoad
AuthorizationCodePayload

Retours

Hérité deClientApplication.acquireTokenByCode

acquireTokenByRefreshToken(RefreshTokenRequest)

Acquiert un jeton en échangeant le jeton d’actualisation fourni pour un nouvel ensemble de jetons.

Cette API est fournie uniquement pour les scénarios où vous souhaitez migrer de la bibliothèque ADAL vers MSAL. Sinon, il est recommandé d’utiliser acquireTokenSilent() pour les scénarios silencieux. Lors de l’utilisation acquireTokenSilent(), MSAL gère automatiquement la mise en cache et l’actualisation des jetons.

function acquireTokenByRefreshToken(request: RefreshTokenRequest): Promise<null | AuthenticationResult>

Paramètres

Retours

Promise<null | AuthenticationResult>

Hérité deClientApplication.acquireTokenByRefreshToken

acquireTokenByUsernamePassword(UsernamePasswordRequest)

Avertissement

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

  • Use a more secure flow instead

Acquiert des jetons avec l’octroi de mot de passe en échangeant le nom d’utilisateur et le mot de passe des applications clientes pour les informations d’identification

La dernière pratique actuelle de sécurité OAuth 2.0 interdit entièrement l’octroi de mot de passe. Pour plus d'informations sur cette recommandation, consultez la https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 documentation et les recommandations de Microsoft :https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword

function acquireTokenByUsernamePassword(request: UsernamePasswordRequest): Promise<null | AuthenticationResult>

Paramètres

request
UsernamePasswordRequest

UsenamePasswordRequest

Retours

Promise<null | AuthenticationResult>

Hérité deClientApplication.acquireTokenByUsernamePassword

clearCache()

Effacer le cache

function clearCache()

Hérité deClientApplication.clearCache

getAuthCodeUrl(AuthorizationUrlRequest)

Crée l’URL de la demande d’autorisation, permettant à l’utilisateur d’entrer les informations d’identification et de donner son consentement à l’application. L’URL cible le point de terminaison /authorize de l’autorité configurée dans l’objet d’application.

Une fois que l’utilisateur entre ses informations d’identification et son consentement, l’autorité envoie une réponse à l’URI de redirection envoyé dans la demande et doit contenir un code d’autorisation, qui peut ensuite être utilisé pour acquérir des jetons via acquireTokenByCode(AuthorizationCodeRequest).

function getAuthCodeUrl(request: AuthorizationUrlRequest): Promise<string>

Paramètres

Retours

Promise<string>

Hérité deClientApplication.getAuthCodeUrl

getLogger()

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

function getLogger(): Logger

Retours

Hérité deClientApplication.getLogger

getTokenCache()

Obtient le cache de jetons de l’application.

function getTokenCache(): TokenCache

Retours

Hérité deClientApplication.getTokenCache

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

Hérité deClientApplication.setLogger