SerializableTokenCache クラス

このシリアル化は、独自の永続化を実装するための開始点となる可能性があります。

このクラスは、実際にはディスク/db/などにキャッシュを保持しません。 必要に応じて、ファイルベースの暗号化されていない永続化のための次の簡単なレシピで十分な場合があります。


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

または、より高度なキャッシュ永続化ライブラリ、暗号化によるトークン キャッシュ永続化を提供する MSAL 拡張機能などを使用することもできます。

コンストラクター

SerializableTokenCache()

変数

名前 説明
has_state_changed

メモリ内のキャッシュの状態が前回の serialize 以降に変更されたか、 deserialize 呼び出しであるかを示します。

メソッド

add
deserialize

serialize() によって以前に取得した状態からキャッシュを逆シリアル化する

modify
serialize

現在のキャッシュ状態を文字列にシリアル化します。

add

add(event, **kwargs)

パラメーター

名前 説明
event
必須

deserialize

serialize() によって以前に取得した状態からキャッシュを逆シリアル化する

deserialize(state: str | None) -> None

パラメーター

名前 説明
state
必須

modify

modify(credential_type, old_entry, new_key_value_pairs=None)

パラメーター

名前 説明
credential_type
必須
old_entry
必須
new_key_value_pairs
規定値: None

serialize

現在のキャッシュ状態を文字列にシリアル化します。

serialize() -> str

属性

has_state_changed

has_state_changed = False