SerializableTokenCache Klass

Den här serialiseringen kan vara en startpunkt för att implementera din egen beständighet.

Den här klassen bevarar INTE cacheminnet på disk/db/etc.. Beroende på dina behov kan följande enkla recept för filbaserad, okrypterad persistence vara tillräckligt:


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

Du kan också använda ett mer avancerat bibliotek för cachepersistence, MSAL-tillägg, som ger tokencachepersistence med kryptering med mera.

Konstruktor

SerializableTokenCache()

Variabler

Name Description
has_state_changed

Anger om cachetillståndet i minnet har ändrats sedan det senaste serialize eller deserialize anropet.

Metoder

add
deserialize

Deserialisera cachen från ett tillstånd som tidigare erhållits av serialize()

modify
serialize

Serialisera det aktuella cachetillståndet till en sträng.

add

add(event, **kwargs)

Parametrar

Name Description
event
Obligatorisk

deserialize

Deserialisera cachen från ett tillstånd som tidigare erhållits av serialize()

deserialize(state: str | None) -> None

Parametrar

Name Description
state
Obligatorisk

modify

modify(credential_type, old_entry, new_key_value_pairs=None)

Parametrar

Name Description
credential_type
Obligatorisk
old_entry
Obligatorisk
new_key_value_pairs
Standardvärde: None

serialize

Serialisera det aktuella cachetillståndet till en sträng.

serialize() -> str

Attribut

has_state_changed

has_state_changed = False