ConfidentialClientApplication Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Clase que se usará para aplicaciones cliente confidenciales (aplicaciones web, API web y aplicaciones de demonio).
public sealed class ConfidentialClientApplication : Microsoft.Identity.Client.ClientApplicationBase, Microsoft.Identity.Client.IByRefreshToken, Microsoft.Identity.Client.IByUsernameAndPassword, Microsoft.Identity.Client.IConfidentialClientApplication, Microsoft.Identity.Client.ILongRunningWebApi
type ConfidentialClientApplication = class
inherit ClientApplicationBase
interface IConfidentialClientApplication
interface IClientApplicationBase
interface IApplicationBase
interface IByUserFederatedIdentityCredential
interface IByRefreshToken
interface ILongRunningWebApi
interface IByUsernameAndPassword
Public NotInheritable Class ConfidentialClientApplication
Inherits ClientApplicationBase
Implements IByRefreshToken, IByUsernameAndPassword, IConfidentialClientApplication, ILongRunningWebApi
- Herencia
- Implementaciones
Comentarios
Las aplicaciones cliente confidenciales suelen ser aplicaciones que se ejecutan en servidores (aplicaciones web, API web o incluso aplicaciones de servicio o demonio). Se consideran difíciles de acceder y, por tanto, son capaces de mantener un secreto de aplicación (contener secretos de tiempo de configuración, ya que estos valores serían difíciles de extraer para los usuarios finales). Una aplicación web es el cliente confidencial más común. El clientId se expone a través del explorador web, pero el secreto solo se pasa en el canal back y nunca se expone directamente. Para obtener más información, consulte https://aka.ms/msal-net-client-applications
Campos
| Nombre | Description |
|---|---|
| AttemptRegionDiscovery |
Indica a MSAL que intente detectar automáticamente la región de Azure. |
Propiedades
| Nombre | Description |
|---|---|
| AppConfig |
Detalles sobre la configuración de ClientApplication con fines de depuración. (Heredado de ClientApplicationBase) |
| AppTokenCache |
Caché de tokens de aplicación. Este caso contiene tokens de acceso para la aplicación. Se mantiene y actualiza silenciosamente si es necesario al llamar a AcquireTokenForClient(IEnumerable<String>) |
| Authority |
Obtiene la dirección URL de la autoridad o el servicio de token de seguridad (STS) de la que MSAL.NET adquirirá tokens de seguridad El valor devuelto de esta propiedad es el valor proporcionado por el desarrollador en el constructor de la aplicación o, de lo contrario, el valor del Microsoft.Identity.Client.ApplicationBase.DefaultAuthority miembro estático (es |
| Certificate |
Certificado usado para crear este ConfidentialClientApplication, si existe. |
| UserTokenCache |
Caché de tokens de usuario. Contiene tokens de acceso, tokens de identificador y tokens de actualización para las cuentas. Se usa y actualiza silenciosamente si es necesario al llamar a AcquireTokenSilent(IEnumerable<String>, IAccount) o a una de las invalidaciones de AcquireTokenSilent(IEnumerable<String>, IAccount).
Se actualiza mediante cada método AcquireTokenXXX, con la excepción de que solo usa la caché de |
Métodos
| Nombre | Description |
|---|---|
| AcquireTokenByAuthorizationCode(IEnumerable<String>, String) |
Adquiere un token de seguridad de la entidad configurada en la aplicación mediante el código de autorización recibido previamente del STS. Usa el flujo de código de autorización de OAuth 2.0 (consulte https://aka.ms/msal-net-authorization-code). Normalmente se usa en aplicaciones web (por ejemplo, ASP.NET o ASP.NET Core aplicaciones web) que inician sesión los usuarios y pueden solicitar un código de autorización. Este método no busca la memoria caché de tokens, pero almacena el resultado, por lo que se puede buscar mediante otros métodos como AcquireTokenSilent(IEnumerable<String>, IAccount). |
| AcquireTokenForClient(IEnumerable<String>) |
Adquiere un token de la entidad configurada en la aplicación, para el propio cliente confidencial (en el nombre de ningún usuario) mediante el flujo de credenciales de cliente. Consulte https://aka.ms/msal-net-client-credentials. |
| AcquireTokenInLongRunningProcess(IEnumerable<String>, String) |
Recupera un token de acceso de la memoria caché mediante la clave de caché proporcionada que se puede usar para acceder a otra API web protegida de bajada en nombre de un usuario mediante el flujo on-Behalf-Of de OAuth 2.0. Consulte OBO de ejecución prolongada en MSAL.NET. Use <seealso cref="M:Microsoft. Identity.Client.Extensibility.ConfidentialClientApplicationExtensions.StopLongRunningProcessInWebApiAsync(Microsoft. Identity.Client.ILongRunningWebApi,System.String,System.Threading.CancellationToken)"></seealso> para detener el proceso de ejecución prolongada y quitar los tokens asociados de la memoria caché. |
| AcquireTokenOnBehalfOf(IEnumerable<String>, UserAssertion) |
Adquiere un token de acceso para esta aplicación (normalmente una API web) de la autoridad configurada en la aplicación, con el fin de acceder a otra API web protegida de bajada en nombre de un usuario mediante el flujo on-Behalf-Of de OAuth 2.0.
Consulte https://aka.ms/msal-net-on-behalf-of.
Esta aplicación cliente confidencial se llamó a sí misma con un token que se proporcionará en el |
| AcquireTokenSilent(IEnumerable<String>, IAccount) |
[API V3] Intenta adquirir un token de acceso para desde |
| AcquireTokenSilent(IEnumerable<String>, String) |
[API V3] Intenta adquirir un token de acceso para que IAccount tenga la Username coincidencia con la especificada |
| GetAccountAsync(String, CancellationToken) |
Obtenga por IAccount su identificador entre las cuentas disponibles en la caché de tokens. (Heredado de ClientApplicationBase) |
| GetAccountAsync(String) |
Obtenga por IAccount su identificador entre las cuentas disponibles en la caché de tokens. (Heredado de ClientApplicationBase) |
| GetAccountsAsync() |
Devuelve todas las cuentas disponibles en la caché de tokens de usuario de la aplicación. (Heredado de ClientApplicationBase) |
| GetAccountsAsync(CancellationToken) |
Devuelve todas las cuentas disponibles en la caché de tokens de usuario de la aplicación. (Heredado de ClientApplicationBase) |
| GetAccountsAsync(String, CancellationToken) |
Obtenga la IAccount recopilación por su identificador entre las cuentas disponibles en la caché de tokens, en función del flujo de usuario. Esto es para Azure escenarios de AD B2C. (Heredado de ClientApplicationBase) |
| GetAccountsAsync(String) |
Obtenga la IAccount recopilación por su identificador entre las cuentas disponibles en la caché de tokens, en función del flujo de usuario. Esto es para Azure escenarios de AD B2C. (Heredado de ClientApplicationBase) |
| GetAuthorizationRequestUrl(IEnumerable<String>) |
Calcula la dirección URL de la solicitud de autorización que permite al usuario iniciar sesión y dar su consentimiento a la aplicación que accede a ámbitos específicos en el nombre del usuario. La dirección URL tiene como destino el punto de conexión /authorize de la autoridad configurada en la aplicación. Esta invalidación le permite especificar una sugerencia de inicio de sesión y un parámetro de consulta adicional. |
| InitiateLongRunningProcessInWebApi(IEnumerable<String>, String, String) |
Adquiere un token de acceso para esta API web de la autoridad configurada en la aplicación, con el fin de acceder a otra API web protegida de bajada en nombre de un usuario mediante el flujo on-Behalf-Of de OAuth 2.0.
Consulte OBO de ejecución prolongada en MSAL.NET.
Pase un token de acceso (no un token de identificador) que se usó para llamar a esta aplicación cliente confidencial en el |
| RemoveAsync(IAccount, CancellationToken) |
Quita todos los tokens de la memoria caché de la cuenta especificada. (Heredado de ClientApplicationBase) |
| RemoveAsync(IAccount) |
Quita todos los tokens de la memoria caché de la cuenta especificada. (Heredado de ClientApplicationBase) |
| StopLongRunningProcessInWebApiAsync(String, CancellationToken) |
Detiene una sesión en curso de ejecución prolongada en nombre de la sesión quitando los tokens asociados a la clave de caché proporcionada. Consulte OBO de ejecución prolongada en MSAL.NET. |
Implementaciones de interfaz explícitas
| Nombre | Description |
|---|---|
| IByRefreshToken.AcquireTokenByRefreshToken(IEnumerable<String>, String) |
Clase que se usará para aplicaciones cliente confidenciales (aplicaciones web, API web y aplicaciones de demonio). |
| IByUserFederatedIdentityCredential.AcquireTokenByUserFederatedIdentityCredential(IEnumerable<String>, Guid, String) |
Adquiere un token en nombre de un usuario mediante una aserción de credenciales de identidad federada.
Esto usa el tipo de |
| IByUserFederatedIdentityCredential.AcquireTokenByUserFederatedIdentityCredential(IEnumerable<String>, String, String) |
Adquiere un token en nombre de un usuario mediante una aserción de credenciales de identidad federada.
Esto usa el tipo de |
| IByUsernameAndPassword.AcquireTokenByUsernamePassword(IEnumerable<String>, String, String) |
Adquiere un token sin interacción del usuario mediante la autenticación de nombre de usuario y contraseña. Este método no busca en la caché de tokens, pero almacena el resultado en ella. Antes de llamar a este método, use otros métodos como AcquireTokenSilent(IEnumerable<String>, IAccount) para comprobar la caché de tokens. |
Métodos de extensión
| Nombre | Description |
|---|---|
| GetCertificate(IConfidentialClientApplication) |
Devuelve el certificado usado para crear este ConfidentialClientApplication, si existe. |
| StopLongRunningProcessInWebApiAsync(ILongRunningWebApi, String, CancellationToken) |
Detiene una sesión en curso de ejecución prolongada en nombre de la sesión quitando los tokens asociados a la clave de caché proporcionada. Consulte OBO de ejecución prolongada en MSAL.NET. |