SerializableTokenCache Classe

Essa serialização pode ser um ponto de partida para implementar sua própria persistência.

Essa classe NÃO persiste o cache em disco/db/etc.. Dependendo de sua necessidade, a seguinte receita simples para persistência não criptografada baseada em arquivo pode 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, você pode usar uma biblioteca de persistência de cache mais sofisticada, extensões MSAL, que fornece persistência de cache de token com criptografia e muito mais.

Construtor

SerializableTokenCache()

Variáveis

Nome Description
has_state_changed

Indica se o estado do cache na memória foi alterado desde a última serialize ou deserialize chamada.

Métodos

add
deserialize

Desserializar o cache de um estado obtido anteriormente por serializar()

modify
serialize

Serialize o estado de cache atual em uma cadeia de caracteres.

add

add(event, **kwargs)

Parâmetros

Nome Description
event
Obrigatório

deserialize

Desserializar o cache de um estado obtido anteriormente por serializar()

deserialize(state: str | None) -> None

Parâmetros

Nome Description
state
Obrigatório

modify

modify(credential_type, old_entry, new_key_value_pairs=None)

Parâmetros

Nome Description
credential_type
Obrigatório
old_entry
Obrigatório
new_key_value_pairs
Valor padrão: None

serialize

Serialize o estado de cache atual em uma cadeia de caracteres.

serialize() -> str

Atributos

has_state_changed

has_state_changed = False