PublicClientApplication class
Esta clase se usará para adquirir tokens para aplicaciones cliente públicas (escritorio, móvil). Las aplicaciones cliente públicas no son de confianza para almacenar de forma segura secretos de aplicación y, por lo tanto, solo pueden solicitar tokens en el nombre de un usuario.
- Extends
Constructores
| Public |
Los atributos importantes del objeto Configuration para la autenticación son:
Las autoridades de AAD tienen el formato
Azure las autoridades B2C tienen el formato https://{instance}/{tenant}/{policy}. Cada directiva se considera su propia autoridad. Tendrá que establecer todas las autenticaciones conocidas en el momento de la construcción de la aplicación cliente. Las autoridades de ADFS tienen el formato https://{instance}/adfs. |
Métodos
| acquire |
Adquiere un token de la entidad mediante el flujo de código del dispositivo OAuth2.0. Este flujo está diseñado para dispositivos que no tienen acceso a un explorador o tienen restricciones de entrada. El servidor de autorización emite un objeto DeviceCode con un código de verificación, un código de usuario final y el URI de verificación del usuario final. El objeto DeviceCode se proporciona a través de una devolución de llamada y se debe indicar al usuario final que use otro dispositivo para ir al URI de verificación para escribir las credenciales. Dado que el cliente no puede recibir solicitudes entrantes, sondea el servidor de autorización repetidamente hasta que el usuario final completa la entrada de las credenciales. |
| acquire |
Adquiere un token de forma interactiva a través del explorador solicitando un código de autorización y, a continuación, lo intercambia por un token. |
| acquire |
Devuelve un token recuperado de la memoria caché o intercambiando el token de actualización para un token de acceso nuevo. Si la brokering está habilitada, el agente atenderá la solicitud de token. |
| get |
Devuelve todas las cuentas almacenadas en caché para esta aplicación. Si la brokering está habilitada, el agente atenderá esta solicitud. |
| sign |
Quita los artefactos de caché asociados a la cuenta especificada. |
Métodos heredados
| acquire |
Adquiere un token intercambiando el código de autorización recibido del primer paso del flujo de código de autorización de OAuth2.0.
|
| acquire |
Adquiere un token intercambiando el token de actualización proporcionado para un nuevo conjunto de tokens. Esta API solo se proporciona para escenarios en los que desea migrar de ADAL a MSAL. De lo contrario, se recomienda usar |
| acquire |
Adquiere tokens con concesión de contraseña intercambiando el nombre de usuario y la contraseña de las aplicaciones cliente para las credenciales. El procedimiento actual de seguridad de OAuth 2.0 más reciente no permite la concesión de contraseña por completo. Encontrará más información sobre esta recomendación en https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 la documentación y las recomendaciones de Microsoft:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword |
| clear |
Borrar la memoria caché |
| get |
Crea la dirección URL de la solicitud de autorización, lo que permite al usuario escribir las credenciales y dar su consentimiento a la aplicación. La dirección URL tiene como destino el punto de conexión /authorize de la autoridad configurada en el objeto de aplicación. Una vez que el usuario escriba sus credenciales y consentimientos, la autoridad enviará una respuesta al URI de redireccionamiento enviado en la solicitud y debe contener un código de autorización, que luego se puede usar para adquirir tokens a través |
| get |
Devuelve la instancia del registrador. |
| get |
Obtiene la caché de tokens de la aplicación. |
| set |
Reemplaza el registrador predeterminado establecido en configuraciones por el nuevo registrador por nuevas configuraciones. |
Detalles del constructor
PublicClientApplication(Configuration)
Los atributos importantes del objeto Configuration para la autenticación son:
- clientID: el identificador de aplicación de la aplicación. Puede obtener una registrando su aplicación con nuestro portal de registro de aplicaciones.
- authority: la dirección URL de autoridad de la aplicación.
Las autoridades de AAD tienen el formato https://login.microsoftonline.com/{Enter_the_Tenant_Info_Here}.
- Si la aplicación admite cuentas en un directorio organizativo, reemplace el valor "Enter_the_Tenant_Info_Here" por el identificador de inquilino o el nombre del inquilino (por ejemplo, contoso.microsoft.com).
- Si la aplicación admite cuentas en cualquier directorio organizativo, reemplace el valor de "Enter_the_Tenant_Info_Here" por organizaciones.
- Si la aplicación admite cuentas en cualquier directorio organizativo y cuentas de Microsoft personales, reemplace el valor "Enter_the_Tenant_Info_Here" por común.
- Para restringir el soporte técnico solo a las cuentas de Personal Microsoft, reemplace el valor de "Enter_the_Tenant_Info_Here" por los consumidores.
Azure las autoridades B2C tienen el formato https://{instance}/{tenant}/{policy}. Cada directiva se considera su propia autoridad. Tendrá que establecer todas las autenticaciones conocidas en el momento de la construcción de la aplicación cliente.
Las autoridades de ADFS tienen el formato https://{instance}/adfs.
new PublicClientApplication(configuration: Configuration)
Parámetros
- configuration
- Configuration
Detalles del método
acquireTokenByDeviceCode(DeviceCodeRequest)
Adquiere un token de la entidad mediante el flujo de código del dispositivo OAuth2.0. Este flujo está diseñado para dispositivos que no tienen acceso a un explorador o tienen restricciones de entrada. El servidor de autorización emite un objeto DeviceCode con un código de verificación, un código de usuario final y el URI de verificación del usuario final. El objeto DeviceCode se proporciona a través de una devolución de llamada y se debe indicar al usuario final que use otro dispositivo para ir al URI de verificación para escribir las credenciales. Dado que el cliente no puede recibir solicitudes entrantes, sondea el servidor de autorización repetidamente hasta que el usuario final completa la entrada de las credenciales.
function acquireTokenByDeviceCode(request: DeviceCodeRequest): Promise<null | AuthenticationResult>
Parámetros
- request
- DeviceCodeRequest
Devoluciones
Promise<null | AuthenticationResult>
acquireTokenInteractive(InteractiveRequest)
Adquiere un token de forma interactiva a través del explorador solicitando un código de autorización y, a continuación, lo intercambia por un token.
function acquireTokenInteractive(request: InteractiveRequest): Promise<AuthenticationResult>
Parámetros
- request
- InteractiveRequest
Devoluciones
Promise<AuthenticationResult>
acquireTokenSilent(SilentFlowRequest)
Devuelve un token recuperado de la memoria caché o intercambiando el token de actualización para un token de acceso nuevo. Si la brokering está habilitada, el agente atenderá la solicitud de token.
function acquireTokenSilent(request: SilentFlowRequest): Promise<AuthenticationResult>
Parámetros
- request
- SilentFlowRequest
developer proporcionado SilentFlowRequest
Devoluciones
Promise<AuthenticationResult>
getAllAccounts()
Devuelve todas las cuentas almacenadas en caché para esta aplicación. Si la brokering está habilitada, el agente atenderá esta solicitud.
function getAllAccounts(): Promise<AccountInfo[]>
Devoluciones
Promise<AccountInfo[]>
signOut(SignOutRequest)
Quita los artefactos de caché asociados a la cuenta especificada.
function signOut(request: SignOutRequest): Promise<void>
Parámetros
- request
- SignOutRequest
developer provided SignOutRequest (SignOutRequest proporcionado por el desarrollador)
Devoluciones
Promise<void>
Detalles de los métodos heredados
acquireTokenByCode(AuthorizationCodeRequest, AuthorizationCodePayload)
Adquiere un token intercambiando el código de autorización recibido del primer paso del flujo de código de autorización de OAuth2.0.
getAuthCodeUrl(AuthorizationCodeUrlRequest) se puede usar para crear la dirección URL para el primer paso del flujo de código de autorización de OAuth2.0. Asegúrese de que los valores de redirectUri y ámbitos de AuthorizationCodeUrlRequest y AuthorizationCodeRequest son los mismos.
function acquireTokenByCode(request: AuthorizationCodeRequest, authCodePayLoad?: AuthorizationCodePayload): Promise<AuthenticationResult>
Parámetros
- request
- AuthorizationCodeRequest
- authCodePayLoad
- AuthorizationCodePayload
Devoluciones
Promise<AuthenticationResult>
Heredado deClientApplication.acquireTokenByCode
acquireTokenByRefreshToken(RefreshTokenRequest)
Adquiere un token intercambiando el token de actualización proporcionado para un nuevo conjunto de tokens.
Esta API solo se proporciona para escenarios en los que desea migrar de ADAL a MSAL. De lo contrario, se recomienda usar acquireTokenSilent() para escenarios silenciosos. Al usar acquireTokenSilent(), MSAL controlará el almacenamiento en caché y la actualización de tokens automáticamente.
function acquireTokenByRefreshToken(request: RefreshTokenRequest): Promise<null | AuthenticationResult>
Parámetros
- request
- RefreshTokenRequest
Devoluciones
Promise<null | AuthenticationResult>
Heredado deClientApplication.acquireTokenByRefreshToken
acquireTokenByUsernamePassword(UsernamePasswordRequest)
Advertencia
Esta API ya está en desuso.
- Use a more secure flow instead
Adquiere tokens con concesión de contraseña intercambiando el nombre de usuario y la contraseña de las aplicaciones cliente para las credenciales.
El procedimiento actual de seguridad de OAuth 2.0 más reciente no permite la concesión de contraseña por completo. Encontrará más información sobre esta recomendación en https://tools.ietf.org/html/draft-ietf-oauth-security-topics-13#section-3.4 la documentación y las recomendaciones de Microsoft:https://docs.microsoft.com/en-us/azure/active-directory/develop/msal-authentication-flows#usernamepassword
function acquireTokenByUsernamePassword(request: UsernamePasswordRequest): Promise<null | AuthenticationResult>
Parámetros
- request
- UsernamePasswordRequest
UsenamePasswordRequest
Devoluciones
Promise<null | AuthenticationResult>
clearCache()
getAuthCodeUrl(AuthorizationUrlRequest)
Crea la dirección URL de la solicitud de autorización, lo que permite al usuario escribir las credenciales y dar su consentimiento a la aplicación. La dirección URL tiene como destino el punto de conexión /authorize de la autoridad configurada en el objeto de aplicación.
Una vez que el usuario escriba sus credenciales y consentimientos, la autoridad enviará una respuesta al URI de redireccionamiento enviado en la solicitud y debe contener un código de autorización, que luego se puede usar para adquirir tokens a través acquireTokenByCode(AuthorizationCodeRequest)de .
function getAuthCodeUrl(request: AuthorizationUrlRequest): Promise<string>
Parámetros
- request
- AuthorizationUrlRequest
Devoluciones
Promise<string>
Heredado deClientApplication.getAuthCodeUrl
getLogger()
Devuelve la instancia del registrador.
function getLogger(): Logger
Devoluciones
Heredado deClientApplication.getLogger
getTokenCache()
Obtiene la caché de tokens de la aplicación.
function getTokenCache(): TokenCache
Devoluciones
Heredado deClientApplication.getTokenCache
setLogger(Logger)
Reemplaza el registrador predeterminado establecido en configuraciones por el nuevo registrador por nuevas configuraciones.
function setLogger(logger: Logger)
Parámetros
- logger
- Logger
Instancia del registrador
Heredado deClientApplication.setLogger