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