SerializableTokenCache Sınıf

Bu serileştirme, kendi kalıcılığınızı uygulamak için bir başlangıç noktası olabilir.

Bu sınıf, disk/db/vb.'de önbelleği gerçekten KALıCı DEĞİlDİR. İhtiyacınıza bağlı olarak, dosya tabanlı, şifrelenmemiş kalıcılık için aşağıdaki basit tarif yeterli olabilir:


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

Alternatif olarak, şifreleme ile belirteç önbelleği kalıcılığı sağlayan daha gelişmiş bir önbellek kalıcılığı kitaplığı, MSAL Uzantıları ve daha fazlasını kullanabilirsiniz.

Oluşturucu

SerializableTokenCache()

Değişkenler

Name Description
has_state_changed

Bellekteki önbellek durumunun son serialize veya deserialize çağrıdan sonra değişip değişmediğini gösterir.

Yöntemler

add
deserialize

Daha önce serialize() tarafından alınan bir durumdan önbelleği seri durumdan çıkarma

modify
serialize

Geçerli önbellek durumunu bir dize olarak seri hale getirme.

add

add(event, **kwargs)

Parametreler

Name Description
event
Gerekli

deserialize

Daha önce serialize() tarafından alınan bir durumdan önbelleği seri durumdan çıkarma

deserialize(state: str | None) -> None

Parametreler

Name Description
state
Gerekli

modify

modify(credential_type, old_entry, new_key_value_pairs=None)

Parametreler

Name Description
credential_type
Gerekli
old_entry
Gerekli
new_key_value_pairs
Default value: None

serialize

Geçerli önbellek durumunu bir dize olarak seri hale getirme.

serialize() -> str

Öznitelikler

has_state_changed

has_state_changed = False