SerializableTokenCache Osztály

Ez a szerializálás kiindulópont lehet a saját adatmegőrzés megvalósításához.

Ez az osztály VALÓJÁBAN NEM tartja meg a gyorsítótárat a lemezen/db/stb. Az igényeitől függően a fájlalapú, titkosítatlan adatmegőrzés alábbi egyszerű receptje elegendő lehet:


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

Alternatív megoldásként használhat egy kifinomultabb gyorsítótár-adatmegőrzési kódtárat, az MSAL-bővítményeket, amely a tokengyorsítótár titkosítással való megőrzését biztosítja, és így tovább.

Konstruktor

SerializableTokenCache()

Változók

Name Description
has_state_changed

Azt jelzi, hogy a gyorsítótár állapota a memóriában megváltozott-e az utolsó serialize vagy deserialize a hívás óta.

Metódusok

add
deserialize

A gyorsítótár deszerializálása korábban szerializálással kapott állapotból

modify
serialize

Szerializálja az aktuális gyorsítótár állapotát sztringgé.

add

add(event, **kwargs)

Paraméterek

Name Description
event
Kötelező

deserialize

A gyorsítótár deszerializálása korábban szerializálással kapott állapotból

deserialize(state: str | None) -> None

Paraméterek

Name Description
state
Kötelező

modify

modify(credential_type, old_entry, new_key_value_pairs=None)

Paraméterek

Name Description
credential_type
Kötelező
old_entry
Kötelező
new_key_value_pairs
Alapértelmezett érték: None

serialize

Szerializálja az aktuális gyorsítótár állapotát sztringgé.

serialize() -> str

Attribútumok

has_state_changed

has_state_changed = False