ClientApplication Clase
Normalmente no se usa directamente esta clase. Use sus subclases en su lugar: PublicClientApplication y ConfidentialClientApplication.
Cree una instancia de aplicación.
Constructor
ClientApplication(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_by_auth_code_flow |
Valide la respuesta de autenticación que se redirige y obtenga tokens. Proporciona automáticamente protección nonce. |
| acquire_token_by_authorization_code |
La segunda mitad de la concesión de código de autorización. |
| acquire_token_by_refresh_token |
Adquiera tokens basados en un token de actualización (RT) obtenido de otro lugar. Este método solo se usa cuando tiene RT antiguos de otro lugar y ahora quiere migrarlos a MSAL. Llamar a este método da como resultado que los nuevos tokens se almacenen automáticamente en MSAL. No es necesario usar este método si ya usa MSAL. MSAL mantiene RT automáticamente dentro de su caché de tokens y se puede recuperar un token de acceso cuando se llama a acquire_token_silent. |
| acquire_token_by_username_password |
Obtiene un token para un recurso determinado mediante credenciales de usuario. Consulte esta página para ver las restricciones del flujo de contraseña de nombre de usuario. https://github.com/AzureAD/microsoft-authentication-library-for-python/wiki/Username-Password-Authentication [En desuso] Esta API está en desuso para los flujos de cliente públicos y se quitará en una versión futura. En su lugar, use un flujo más seguro. Guía de migración: https://aka.ms/msal-ropc-migration |
| acquire_token_silent |
Adquiera un token de acceso para una cuenta determinada, sin interacción del usuario. Tiene los mismos parámetros que .acquire_token_silent_with_error La diferencia es el comportamiento del valor devuelto. Este método combinará la memoria caché vacía y actualizará el error en un valor devuelto, None. Si la aplicación no le importa el error exacto de actualización de tokens durante la búsqueda de caché de tokens, este método es más fácil y recomendado. |
| acquire_token_silent_with_error |
Adquiera un token de acceso para una cuenta determinada, sin interacción del usuario. Para ello, busque un token de acceso válido de la memoria caché o busque un token de actualización válido de la memoria caché y después úselo automáticamente para canjear un nuevo token de acceso. Este método diferenciará la memoria caché vacía del error de actualización del token. Si la aplicación le importa el error exacto de actualización de tokens durante la búsqueda de caché de tokens, este método es adecuado. De lo contrario, se recomienda el otro método acquire_token_silent . |
| get_accounts |
Obtenga una lista de cuentas que han iniciado sesión anteriormente, es decir, existen en la memoria caché. Una cuenta se puede usar más adelante en acquire_token_silent para buscar sus tokens. |
| get_authorization_request_url |
Construye una dirección URL para iniciar una concesión de código de autorización. |
| initiate_auth_code_flow |
Inicie un flujo de código de autenticación. Más adelante, cuando la respuesta llegue al redirect_uri, puede usar acquire_token_by_auth_code_flow para completar la autenticación o autorización. |
| is_pop_supported |
Devuelve True si este cliente admite el token de acceso de prueba de posesión. |
| remove_account |
Cerrar sesión y olvidarme de la caché de tokens |
acquire_token_by_auth_code_flow
Valide la respuesta de autenticación que se redirige y obtenga tokens.
Proporciona automáticamente protección nonce.
acquire_token_by_auth_code_flow(auth_code_flow, auth_response, scopes=None, **kwargs)
Parámetros
| Nombre | Description |
|---|---|
|
auth_code_flow
Requerido
|
El mismo dict devuelto por initiate_auth_code_flow. |
|
auth_response
Requerido
|
Un dict de la cadena de consulta recibida del servidor de autenticación. |
|
scopes
|
Ámbitos solicitados para acceder a una API protegida (un recurso). La mayoría de las veces, puede dejarla vacía. Si solicitó el consentimiento del usuario para varios recursos, aquí deberá proporcionar un subconjunto de lo que necesita en initiate_auth_code_flow. OAuth2 se diseñó principalmente para servicios singleton, donde los tokens siempre están diseñados para el mismo recurso y los únicos cambios están en los ámbitos. En Microsoft Entra, los tokens se pueden emitir para varios recursos de terceros. Puede pedir código de autorización para varios recursos, pero al canjearlo, el token es solo para un destinatario previsto, denominado audiencia. Por lo tanto, el desarrollador debe especificar un ámbito para que podamos restringir el token que se va a emitir para la audiencia correspondiente. Valor predeterminado: None
|
Devoluciones
| Tipo | Description |
|---|---|
|
acquire_token_by_authorization_code
La segunda mitad de la concesión de código de autorización.
acquire_token_by_authorization_code(code, scopes, redirect_uri=None, nonce=None, claims_challenge=None, **kwargs)
Parámetros
| Nombre | Description |
|---|---|
|
code
Requerido
|
El código de autorización devuelto desde el servidor de autorización. |
|
scopes
Requerido
|
(Obligatorio) Ámbitos solicitados para acceder a una API protegida (un recurso). Si solicitó el consentimiento del usuario para varios recursos, aquí normalmente querrá proporcionar un subconjunto de lo que necesita en AuthCode. OAuth2 se diseñó principalmente para servicios singleton, donde los tokens siempre están diseñados para el mismo recurso y los únicos cambios están en los ámbitos. En Microsoft Entra, los tokens se pueden emitir para varios recursos de terceros. Puede pedir código de autorización para varios recursos, pero al canjearlo, el token es solo para un destinatario previsto, denominado audiencia. Por lo tanto, el desarrollador debe especificar un ámbito para que podamos restringir el token que se va a emitir para la audiencia correspondiente. |
|
nonce
|
Si proporcionó un nonce al llamar a get_authorization_request_url, también se debe proporcionar aquí el mismo nonce, de modo que lo validaremos. Se producirá una excepción si el nonce en el token de identificador no coincide. Valor predeterminado: None
|
|
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
|
|
redirect_uri
|
Valor predeterminado: None
|
Devoluciones
| Tipo | Description |
|---|---|
|
Un dict que representa la respuesta json de Microsoft Entra:
|
acquire_token_by_refresh_token
Adquiera tokens basados en un token de actualización (RT) obtenido de otro lugar.
Este método solo se usa cuando tiene RT antiguos de otro lugar y ahora quiere migrarlos a MSAL. Llamar a este método da como resultado que los nuevos tokens se almacenen automáticamente en MSAL.
No es necesario usar este método si ya usa MSAL. MSAL mantiene RT automáticamente dentro de su caché de tokens y se puede recuperar un token de acceso cuando se llama a acquire_token_silent.
acquire_token_by_refresh_token(refresh_token, scopes, **kwargs)
Parámetros
| Nombre | Description |
|---|---|
|
refresh_token
Requerido
|
El token de actualización anterior, como una cadena. |
|
scopes
Requerido
|
Los ámbitos se asocian a este RT antiguo. Cada ámbito debe estar en el formato Plataforma de identidad de Microsoft (v2). Consulte Ámbitos que no son recursos. |
Devoluciones
| Tipo | Description |
|---|---|
|
acquire_token_by_username_password
Obtiene un token para un recurso determinado mediante credenciales de usuario.
Consulte esta página para ver las restricciones del flujo de contraseña de nombre de usuario. https://github.com/AzureAD/microsoft-authentication-library-for-python/wiki/Username-Password-Authentication
[En desuso] Esta API está en desuso para los flujos de cliente públicos y se quitará en una versión futura. En su lugar, use un flujo más seguro. Guía de migración: https://aka.ms/msal-ropc-migration
acquire_token_by_username_password(username, password, scopes, claims_challenge=None, auth_scheme=None, **kwargs)
Parámetros
| Nombre | Description |
|---|---|
|
username
Requerido
|
Normalmente, un UPN en forma de dirección de correo electrónico. |
|
password
Requerido
|
La contraseña. |
|
scopes
Requerido
|
Á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
|
|
auth_scheme
|
Puede proporcionar un Novedad de la versión 1.26.0. Valor predeterminado: None
|
Devoluciones
| Tipo | Description |
|---|---|
|
Un dict que representa la respuesta json de Microsoft Entra:
|
acquire_token_silent
Adquiera un token de acceso para una cuenta determinada, sin interacción del usuario.
Tiene los mismos parámetros que .acquire_token_silent_with_error La diferencia es el comportamiento del valor devuelto. Este método combinará la memoria caché vacía y actualizará el error en un valor devuelto, None. Si la aplicación no le importa el error exacto de actualización de tokens durante la búsqueda de caché de tokens, este método es más fácil y recomendado.
acquire_token_silent(scopes, account, authority=None, force_refresh=False, claims_challenge=None, auth_scheme=None, **kwargs)
Parámetros
| Nombre | Description |
|---|---|
|
scopes
Requerido
|
|
|
account
Requerido
|
|
|
authority
|
Valor predeterminado: None
|
|
force_refresh
|
Valor predeterminado: False
|
|
claims_challenge
|
Valor predeterminado: None
|
|
auth_scheme
|
Valor predeterminado: None
|
Devoluciones
| Tipo | Description |
|---|---|
|
acquire_token_silent_with_error
Adquiera un token de acceso para una cuenta determinada, sin interacción del usuario.
Para ello, busque un token de acceso válido de la memoria caché o busque un token de actualización válido de la memoria caché y después úselo automáticamente para canjear un nuevo token de acceso.
Este método diferenciará la memoria caché vacía del error de actualización del token. Si la aplicación le importa el error exacto de actualización de tokens durante la búsqueda de caché de tokens, este método es adecuado. De lo contrario, se recomienda el otro método acquire_token_silent .
acquire_token_silent_with_error(scopes, account, authority=None, force_refresh=False, claims_challenge=None, auth_scheme=None, **kwargs)
Parámetros
| Nombre | Description |
|---|---|
|
scopes
Requerido
|
(Obligatorio) Ámbitos solicitados para acceder a una API protegida (un recurso). |
|
account
Requerido
|
(Obligatorio) Uno de los objetos de cuenta devueltos por get_accounts.
A partir de MSAL Python 1.23, una |
|
force_refresh
|
Si es True, omitirá la búsqueda del token de acceso e intentará buscar un token de actualización para obtener un nuevo token de acceso. Valor predeterminado: False
|
|
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
|
|
auth_scheme
|
Puede proporcionar un Novedad de la versión 1.26.0. Valor predeterminado: None
|
|
authority
|
Valor predeterminado: None
|
Devoluciones
| Tipo | Description |
|---|---|
|
get_accounts
Obtenga una lista de cuentas que han iniciado sesión anteriormente, es decir, existen en la memoria caché.
Una cuenta se puede usar más adelante en acquire_token_silent para buscar sus tokens.
get_accounts(username=None)
Parámetros
| Nombre | Description |
|---|---|
|
username
|
Filtre las cuentas solo con este nombre de usuario. No distingue mayúsculas de minúsculas. Valor predeterminado: None
|
Devoluciones
| Tipo | Description |
|---|---|
|
Lista de objetos de cuenta. Cada cuenta es un dict. Por ahora, solo documentamos su campo "nombre de usuario". La aplicación puede optar por mostrar esa información al usuario final y permitir que el usuario elija una de sus cuentas para continuar. |
get_authorization_request_url
Construye una dirección URL para iniciar una concesión de código de autorización.
get_authorization_request_url(scopes, login_hint=None, state=None, redirect_uri=None, response_type='code', prompt=None, nonce=None, domain_hint=None, claims_challenge=None, **kwargs)
Parámetros
| Nombre | Description |
|---|---|
|
scopes
Requerido
|
(Obligatorio) Ámbitos solicitados para acceder a una API protegida (un recurso). |
|
state
|
Recomendado por OAuth2 para la protección CSRF. Valor predeterminado: None
|
|
login_hint
|
Identificador del usuario. Por lo general, un nombre principal de usuario (UPN). Valor predeterminado: None
|
|
redirect_uri
|
Dirección a la que volver tras recibir una respuesta de la autoridad. Valor predeterminado: None
|
|
response_type
|
El valor predeterminado es "código" para una concesión de código de autorización de OAuth2. Puede usar otro contenido, como "id_token" o "token", que desencadenaría una concesión implícita, pero no se recomienda. Valor predeterminado: code
|
|
prompt
|
De forma predeterminada, no se enviará ningún valor de símbolo del sistema, ni siquiera la cadena Valor predeterminado: None
|
|
nonce
|
Valor aleatorio criptográfico que se usa para mitigar los ataques de reproducción. Consulte también las especificaciones de OIDC. Valor predeterminado: None
|
|
domain_hint
|
Puede ser uno de los "consumidores" o "organizaciones" o el dominio de inquilino "contoso.com". Si se incluye, omitirá el proceso de detección basado en correo electrónico que el usuario pasa en la página de inicio de sesión, lo que conduce a una experiencia de usuario ligeramente más simplificada. Obtenga más información sobre los posibles valores disponibles en la documentación de Flujo de código de autenticación y domain_hint documento. Valor predeterminado: None
|
|
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 |
|---|---|
|
Dirección URL de autorización como una cadena. |
initiate_auth_code_flow
Inicie un flujo de código de autenticación.
Más adelante, cuando la respuesta llegue al redirect_uri, puede usar acquire_token_by_auth_code_flow para completar la autenticación o autorización.
initiate_auth_code_flow(scopes, redirect_uri=None, state=None, prompt=None, login_hint=None, domain_hint=None, claims_challenge=None, max_age=None, response_mode=None)
Parámetros
| Nombre | Description |
|---|---|
|
scopes
Requerido
|
Es una lista de cadenas que distinguen mayúsculas de minúsculas. |
|
redirect_uri
|
Optional. Si no se especifica, el servidor usará el registrado previamente. Valor predeterminado: None
|
|
state
|
Valor opaco utilizado por el cliente para mantener el estado entre la solicitud y la devolución de llamada. Si no está presente, esta biblioteca generará automáticamente una internamente. Valor predeterminado: None
|
|
prompt
|
De forma predeterminada, no se enviará ningún valor de símbolo del sistema, ni siquiera la cadena Valor predeterminado: None
|
|
login_hint
|
Optional. Identificador del usuario. Por lo general, un nombre principal de usuario (UPN). Valor predeterminado: None
|
|
domain_hint
|
Puede ser uno de los "consumidores" o "organizaciones" o el dominio de inquilino "contoso.com". Si se incluye, omitirá el proceso de detección basado en correo electrónico que el usuario pasa en la página de inicio de sesión, lo que conduce a una experiencia de usuario ligeramente más simplificada. Obtenga más información sobre los posibles valores disponibles en la documentación de Flujo de código de autenticación y domain_hint documento. Valor predeterminado: None
|
|
max_age
|
OPCIONAL. Antigüedad máxima de autenticación. Especifica el tiempo permitido transcurrido en segundos desde la última vez que el End-User se autenticó activamente. Si el tiempo transcurrido es mayor que este valor, Plataforma de identidad de Microsoft volverá a autenticar activamente al usuario final. MSAL Python también validará automáticamente el auth_time en el token de identificador. Novedades de la versión 1.15. Valor predeterminado: None
|
|
response_mode
|
OPCIONAL. Especifica el método con el que se deben devolver los parámetros de respuesta.
El valor predeterminado es equivalente a Note Debe configurar el marco web para que acepte form_post respuestas en lugar de las respuestas de consulta. Aunque este parámetro sigue funcionando, se quitará en una versión futura. El uso de modos de respuesta basados en consultas es menos seguro y debe evitarse. Valor predeterminado: None
|
|
claims_challenge
|
Valor predeterminado: None
|
Devoluciones
| Tipo | Description |
|---|---|
|
Flujo de código de autenticación. Es un dict en este formato:
Se espera que el autor de la llamada:
|
is_pop_supported
Devuelve True si este cliente admite el token de acceso de prueba de posesión.
is_pop_supported()
remove_account
Cerrar sesión y olvidarme de la caché de tokens
remove_account(account)
Parámetros
| Nombre | Description |
|---|---|
|
account
Requerido
|
|
Atributos
ACQUIRE_TOKEN_BY_AUTHORIZATION_CODE_ID
ACQUIRE_TOKEN_BY_AUTHORIZATION_CODE_ID = '832'
ACQUIRE_TOKEN_BY_DEVICE_FLOW_ID
ACQUIRE_TOKEN_BY_DEVICE_FLOW_ID = '622'
ACQUIRE_TOKEN_BY_REFRESH_TOKEN
ACQUIRE_TOKEN_BY_REFRESH_TOKEN = '85'
ACQUIRE_TOKEN_BY_USERNAME_PASSWORD_ID
ACQUIRE_TOKEN_BY_USERNAME_PASSWORD_ID = '301'
ACQUIRE_TOKEN_FOR_CLIENT_ID
ACQUIRE_TOKEN_FOR_CLIENT_ID = '730'
ACQUIRE_TOKEN_INTERACTIVE
ACQUIRE_TOKEN_INTERACTIVE = '169'
ACQUIRE_TOKEN_ON_BEHALF_OF_ID
ACQUIRE_TOKEN_ON_BEHALF_OF_ID = '523'
ACQUIRE_TOKEN_SILENT_ID
ACQUIRE_TOKEN_SILENT_ID = '84'
ATTEMPT_REGION_DISCOVERY
ATTEMPT_REGION_DISCOVERY = True
DISABLE_MSAL_FORCE_REGION
DISABLE_MSAL_FORCE_REGION = False
GET_ACCOUNTS_ID
GET_ACCOUNTS_ID = '902'
REMOVE_ACCOUNT_ID
REMOVE_ACCOUNT_ID = '903'