SerializableTokenCache Classe

Cette sérialisation peut être un point de départ pour implémenter votre propre persistance.

Cette classe ne conserve pas réellement le cache sur le disque/db/etc.. Selon vos besoins, la recette simple suivante pour la persistance non chiffrée basée sur des fichiers peut être suffisante :


   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)
   ...

Vous pouvez également utiliser une bibliothèque de persistance de cache plus sophistiquée, des extensions MSAL, qui fournissent une persistance du cache de jetons avec chiffrement, etc.

Constructeur

SerializableTokenCache()

Variables

Nom Description
has_state_changed

Indique si l’état du cache dans la mémoire a changé depuis la dernière serialize ou deserialize l’appel.

Méthodes

add
deserialize

Désérialiser le cache à partir d’un état précédemment obtenu par serialize()

modify
serialize

Sérialisez l’état actuel du cache dans une chaîne.

add

add(event, **kwargs)

Paramètres

Nom Description
event
Obligatoire

deserialize

Désérialiser le cache à partir d’un état précédemment obtenu par serialize()

deserialize(state: str | None) -> None

Paramètres

Nom Description
state
Obligatoire

modify

modify(credential_type, old_entry, new_key_value_pairs=None)

Paramètres

Nom Description
credential_type
Obligatoire
old_entry
Obligatoire
new_key_value_pairs
Valeur par défaut: None

serialize

Sérialisez l’état actuel du cache dans une chaîne.

serialize() -> str

Attributs

has_state_changed

has_state_changed = False