SerializableTokenCache Klas

Deze serialisatie kan een uitgangspunt zijn om uw eigen persistentie te implementeren.

Deze klasse blijft de cache niet daadwerkelijk behouden op schijf/db/etc.. Afhankelijk van uw behoeften kan het volgende eenvoudige recept voor bestandgebaseerde, niet-versleutelde persistentie voldoende zijn:


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

U kunt ook een geavanceerdere bibliotheek voor cachepersistentie gebruiken, MSAL Extensions, die persistentie van tokenscache biedt met versleuteling en meer.

Constructor

SerializableTokenCache()

Variabelen

Name Description
has_state_changed

Geeft aan of de cachestatus in het geheugen is gewijzigd sinds de laatste serialize of deserialize aanroep.

Methoden

add
deserialize

Deserialiseer de cache van een eerder verkregen status door serialize()

modify
serialize

Serialiseer de huidige cachestatus in een tekenreeks.

add

add(event, **kwargs)

Parameters

Name Description
event
Vereist

deserialize

Deserialiseer de cache van een eerder verkregen status door serialize()

deserialize(state: str | None) -> None

Parameters

Name Description
state
Vereist

modify

modify(credential_type, old_entry, new_key_value_pairs=None)

Parameters

Name Description
credential_type
Vereist
old_entry
Vereist
new_key_value_pairs
Default value: None

serialize

Serialiseer de huidige cachestatus in een tekenreeks.

serialize() -> str

Kenmerken

has_state_changed

has_state_changed = False