SerializableTokenCache Clase

Esta serialización puede ser un punto de partida para implementar su propia persistencia.

Esta clase no conserva realmente la memoria caché en el disco/db/etc.. Dependiendo de su necesidad, la siguiente receta simple para la persistencia sin cifrar basada en archivos puede ser suficiente:


   import os, atexit, msal
   cache_filename = os.path.join(  # Persist cache into this file
       os.getenv(
           # Automatically wipe out the cache from Linux when user's ssh session ends.
           # See also https://github.com/AzureAD/microsoft-authentication-library-for-python/issues/690
           "XDG_RUNTIME_DIR", ""),
       "my_cache.bin")
   cache = msal.SerializableTokenCache()
   if os.path.exists(cache_filename):
       cache.deserialize(open(cache_filename, "r").read())
   atexit.register(lambda:
       open(cache_filename, "w").write(cache.serialize())
       # Hint: The following optional line persists only when state changed
       if cache.has_state_changed else None
       )
   app = msal.ClientApplication(..., token_cache=cache)
   ...

Como alternativa, puede usar una biblioteca de persistencia de caché más sofisticada, extensiones de MSAL, que proporciona persistencia de caché de tokens con cifrado, etc.

Constructor

SerializableTokenCache()

Variables

Nombre Description
has_state_changed

Indica si el estado de caché de la memoria ha cambiado desde la última serialize llamada o deserialize .

Métodos

add
deserialize

Deserializar la memoria caché de un estado obtenido previamente por serialize()

modify
serialize

Serialice el estado de caché actual en una cadena.

add

add(event, **kwargs)

Parámetros

Nombre Description
event
Requerido

deserialize

Deserializar la memoria caché de un estado obtenido previamente por serialize()

deserialize(state: str | None) -> None

Parámetros

Nombre Description
state
Requerido

modify

modify(credential_type, old_entry, new_key_value_pairs=None)

Parámetros

Nombre Description
credential_type
Requerido
old_entry
Requerido
new_key_value_pairs
Valor predeterminado: None

serialize

Serialice el estado de caché actual en una cadena.

serialize() -> str

Atributos

has_state_changed

has_state_changed = False