Serialización de caché de tokens personalizada en MSAL para Python

En Biblioteca de autenticación de Microsoft (MSAL) para Python, se proporciona de forma predeterminada una caché de tokens en memoria que persiste durante la sesión de la aplicación cuando se crea una instancia de ConfidentialClientApplication.

La serialización de la caché de tokens, para que distintas sesiones de su aplicación puedan acceder a ella, no se proporciona de serie. MSAL para Python se puede usar en tipos de aplicaciones que no tienen acceso al sistema de archivos, como las aplicaciones web. Para tener una caché de tokens persistente en una aplicación que use MSAL para Python, debe proporcionar la serialización de caché de tokens personalizada.

Las estrategias para serializar la caché de tokens dependen de si va a escribir una aplicación cliente pública (de escritorio) o una aplicación cliente confidencial (aplicación web, API web o aplicación daemon).

Caché de tokens para una aplicación cliente pública

Las aplicaciones cliente públicas se ejecutan en el dispositivo de un usuario y administran tokens para un único usuario. En este caso, podría serializar toda la memoria caché en un archivo. Recuerde proporcionar bloqueo de archivos si la aplicación u otra aplicación pueden acceder a la memoria caché simultáneamente. Para obtener un ejemplo sencillo de cómo serializar una caché de tokens en un archivo sin bloquear, consulte el ejemplo de la documentación de referencia de clases SerializableTokenCache .

Caché de tokens para una aplicación web (aplicación cliente confidencial)

En el caso de las aplicaciones web o las API web, puede usar la sesión, una caché de Redis o una base de datos para almacenar la caché de tokens. Debe existir una caché de tokens por usuario (por cuenta), así que asegúrese de serializar la caché de tokens por cuenta.

Pasos siguientes

Consulte ms-identity-python-webapp para obtener un ejemplo de cómo usar la caché de tokens para una aplicación web o api web de Linux o Windows. El ejemplo es para una aplicación web que llama a Microsoft Graph API.