ConfidentialClientApplication Clase
Igual que <xref:ClientApplication.__init__>, salvo que el allow_broker parámetro permanecerá None.
Cree una instancia de aplicación.
Constructor
ConfidentialClientApplication(client_id, client_credential=None, authority=None, validate_authority=True, token_cache=None, http_client=None, verify=True, proxies=None, timeout=None, client_claims=None, app_name=None, app_version=None, client_capabilities=None, azure_region=None, exclude_scopes=None, http_cache=None, instance_discovery=None, allow_broker=None, enable_pii_log=None, oidc_authority=None)
Parámetros
| Nombre | Description |
|---|---|
|
client_id
Requerido
|
La aplicación tiene un client_id después de registrarla en Centro de administración Microsoft Entra. |
|
client_credential
|
Para PublicClientApplication, use None aquí. Para ConfidentialClientApplication, admite muchos formatos de entrada diferentes para distintos escenarios. Compatibilidad con el uso de un secreto de cliente. Simplemente se alimenta en una cadena, como
|
|
client_claims
|
Agregado en la versión 0.5.0: es un diccionario de notificaciones adicionales firmadas por esta ConfidentialClientApplication clave privada. Por ejemplo, puede usar {"client_ip": "x.x.x.x"}. También puede invalidar cualquiera de las siguientes notificaciones predeterminadas:
Valor predeterminado: None
|
|
authority
|
Dirección URL que identifica una entidad de token. Debe tener el formato
Cambiado en la versión 1.17: también puede usar una constante predefinida y un generador como este:
Valor predeterminado: None
|
|
validate_authority
|
(opcional) Activa o desactiva la validación de autoridad. Este parámetro tiene como valor predeterminado true. Valor predeterminado: True
|
|
token_cache
|
Establece la caché de tokens usada por esta instancia de ClientApplication. De forma predeterminada, se creará y usará una caché en memoria. Valor predeterminado: None
|
|
http_client
|
(opcional) La implementación de la clase abstracta HttpClient <msal.oauth2cli.http.http_client> valores predeterminados en una instancia de sesión de solicitudes. Dado que MSAL 1.11.0, la sesión predeterminada se configuraría para intentar un reintento en el error de conexión. Si proporciona su propio http_client, será su deber de http_client decidir si debe realizar el reintento. Valor predeterminado: None
|
|
verify
|
(opcional) Se pasará al parámetro verify en la biblioteca de solicitudes subyacentes . Esto no se aplica si ha elegido pasar su propio cliente Http. Valor predeterminado: True
|
|
proxies
|
(opcional) Se pasará al parámetro proxies en la biblioteca de solicitudes subyacentes . Esto no se aplica si ha elegido pasar su propio cliente Http. Valor predeterminado: None
|
|
timeout
|
(opcional) Se pasará al parámetro timeout en la biblioteca de solicitudes subyacentes . Esto no se aplica si ha elegido pasar su propio cliente Http. Valor predeterminado: None
|
|
app_name
|
(opcional) Puede proporcionar el nombre de la aplicación para Microsoft fines de telemetría. El valor predeterminado es None, significa que no se pasará a Microsoft. Valor predeterminado: None
|
|
app_version
|
(opcional) Puede proporcionar la versión de la aplicación con fines de telemetría Microsoft. El valor predeterminado es None, significa que no se pasará a Microsoft. Valor predeterminado: None
|
|
client_capabilities
|
(opcional) Permite la configuración de una o varias funcionalidades de cliente, por ejemplo, ["CP1"]. La funcionalidad de cliente está pensada para informar al Plataforma de identidad de Microsoft (STS) de lo que este cliente es capaz de, por lo que STS puede decidir activar determinadas características. Por ejemplo, si el cliente es capaz de controlar el desafío de notificaciones, STS puede emitir tokens de acceso continuo (CAE) a los recursos, sabiendo que cuando el recurso emite un desafío de notificaciones , el cliente podrá controlar esos desafíos. Detalles de implementación: la funcionalidad del cliente se implementa mediante el parámetro "claims" en la conexión, por ahora. MSAL los combinará en el parámetro de notificaciones que proporcionará más adelante a través de una de las solicitudes de acquire-token. Valor predeterminado: None
|
|
azure_region
|
(opcional) Indica a MSAL que use el servicio de token regional entra. Esta característica heredada solo está disponible para aplicaciones propias. Solo Admite 4 valores:
Note La detección automática de regiones se ha probado en máquinas virtuales y en Azure Functions. No es confiable. Las aplicaciones que usan esta opción deben configurar un breve tiempo de espera. Para obtener más detalles y para los valores de la cadena de región ver https://learn.microsoft.com/entra/msal/dotnet/resources/region-discovery-troubleshooting Novedad de la versión 1.12.0. Valor predeterminado: None
|
|
exclude_scopes
|
(opcional) Históricamente, MSAL codifica de forma offline_access ámbito, lo que permitiría que la aplicación tuviera acceso prolongado a los datos del usuario.
Si es innecesario o no deseado para la aplicación, ahora puedes usar este parámetro para proporcionar una lista de exclusión de ámbitos, como Valor predeterminado: None
|
|
http_cache
|
MSAL ha estado almacenando en caché tokens durante mucho tiempo en . Este Si la aplicación es una aplicación de línea de comandos (CLI), querrá conservar la http_cache en distintas ejecuciones de la CLI. El formato del archivo persistente puede cambiar debido, entre otros, al protocolo inestable, por lo que la implementación tolerará errores de carga inesperados. La siguiente receta muestra una manera de hacerlo:
El contenido dentro El contenido dentro Novedades de la versión 1.16.0. Valor predeterminado: None
|
|
instance_discovery
|
<xref:boolean>
Históricamente, MSAL se conectaría a un punto de conexión central ubicado en Este parámetro tiene como valor predeterminado None, que habilita la detección de instancias. Si conoce algunas autoridades que permiten que MSAL funcione con as-is, sin implicar ninguna detección de instancias, el patrón recomendado es:
Si no conoce a algunas autoridades de antemano, todavía quiere que MSAL acepte cualquier autoridad que proporcione, puede usar para Novedad de la versión 1.19.0. Valor predeterminado: None
|
|
allow_broker
|
<xref:boolean>
Deprecated. Utilice Valor predeterminado: None
|
|
enable_pii_log
|
<xref:boolean>
Cuando se habilita, los registros pueden incluir PII (información de identificación personal). Esto puede ser útil para solucionar problemas de comportamientos de agente. El comportamiento predeterminado es False. Novedad de la versión 1.24.0. Valor predeterminado: None
|
|
oidc_authority
|
Agregado en la versión 1.28.0: es una dirección URL que identifica una entidad de OpenID Connect (OIDC) del formato Nota: El agente NO se usará para la autoridad de OIDC. Valor predeterminado: None
|
Métodos
| acquire_token_for_client |
Adquiere el token para el cliente confidencial actual, no para un usuario final. Dado que MSAL Python 1.23, buscará automáticamente el token de la caché y solo enviará una solicitud al proveedor de identidades cuando se produzcan errores en la memoria caché. |
| acquire_token_on_behalf_of |
Adquiere el token mediante el flujo en nombre de (OBO). La aplicación actual es un servicio de nivel intermedio al que se llamó con un token que representa a un usuario final. La aplicación actual puede usar este token (a.k.a. una aserción de usuario) para solicitar otro token para acceder a la API web de nivel inferior, en nombre de ese usuario. Consulte los documentos detallados aquí . La aplicación de nivel intermedio actual no tiene ninguna interacción del usuario para obtener el consentimiento. Consulte cómo obtener el consentimiento por adelantado para la aplicación de nivel intermedio de este artículo. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application |
| remove_tokens_for_client |
Quite todos los tokens adquiridos anteriormente a través acquire_token_for_client del cliente actual. |
acquire_token_for_client
Adquiere el token para el cliente confidencial actual, no para un usuario final.
Dado que MSAL Python 1.23, buscará automáticamente el token de la caché y solo enviará una solicitud al proveedor de identidades cuando se produzcan errores en la memoria caché.
acquire_token_for_client(scopes, claims_challenge=None, fmi_path=None, **kwargs)
Parámetros
| Nombre | Description |
|---|---|
|
scopes
Requerido
|
(Obligatorio) Ámbitos solicitados para acceder a una API protegida (un recurso). |
|
claims_challenge
|
El parámetro claims_challenge solicita notificaciones específicas solicitadas por el proveedor de recursos en forma de una directiva de claims_challenge en el encabezado www-authenticate que se va a devolver desde el punto de conexión UserInfo o en el token de identificador o token de acceso. Es una cadena de un objeto JSON que contiene listas de notificaciones que se solicitan desde estas ubicaciones. Valor predeterminado: None
|
|
fmi_path
|
Optional. Ruta de acceso de credenciales de identidad administrada federada (FMI).
Cuando se proporciona, se envía como parámetro
Valor predeterminado: None
|
Devoluciones
| Tipo | Description |
|---|---|
|
Un dict que representa la respuesta json de Microsoft Entra:
|
acquire_token_on_behalf_of
Adquiere el token mediante el flujo en nombre de (OBO).
La aplicación actual es un servicio de nivel intermedio al que se llamó con un token que representa a un usuario final. La aplicación actual puede usar este token (a.k.a. una aserción de usuario) para solicitar otro token para acceder a la API web de nivel inferior, en nombre de ese usuario. Consulte los documentos detallados aquí .
La aplicación de nivel intermedio actual no tiene ninguna interacción del usuario para obtener el consentimiento. Consulte cómo obtener el consentimiento por adelantado para la aplicación de nivel intermedio de este artículo. https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-on-behalf-of-flow#gaining-consent-for-the-middle-tier-application
acquire_token_on_behalf_of(user_assertion, scopes, claims_challenge=None, **kwargs)
Parámetros
| Nombre | Description |
|---|---|
|
user_assertion
Requerido
|
El token entrante ya recibido por esta aplicación |
|
scopes
Requerido
|
Ámbitos requeridos por la API de nivel inferior (un recurso). |
|
claims_challenge
|
El parámetro claims_challenge solicita notificaciones específicas solicitadas por el proveedor de recursos en forma de una directiva de claims_challenge en el encabezado www-authenticate que se va a devolver desde el punto de conexión UserInfo o en el token de identificador o token de acceso. Es una cadena de un objeto JSON que contiene listas de notificaciones que se solicitan desde estas ubicaciones. Valor predeterminado: None
|
Devoluciones
| Tipo | Description |
|---|---|
|
Un dict que representa la respuesta json de Microsoft Entra:
|
remove_tokens_for_client
Quite todos los tokens adquiridos anteriormente a través acquire_token_for_client del cliente actual.
remove_tokens_for_client()