使用 MSAL for Java 從令牌快取中取得並移除帳號

Java 版 MSAL 預設提供記憶體中的令牌快取。 記憶體中的標記快取會持續到應用程式執行期間。

查看快取中有哪些帳號

你可以透過呼叫 PublicClientApplication.getAccounts() 來檢查快取中有哪些帳號,如以下範例所示:

PublicClientApplication pca = new PublicClientApplication.Builder(
                labResponse.getAppId()).
                authority(TestConstants.ORGANIZATIONS_AUTHORITY).
                build();

Set<IAccount> accounts = pca.getAccounts().join();

將帳號從快取中移除

要從快取中移除帳號,請找到需要移除的帳號,然後如以下範例所顯示的那樣呼叫 PublicClientApplication.removeAccount() :

Set<IAccount> accounts = pca.getAccounts().join();

IAccount accountToBeRemoved = accounts.stream().filter(
                x -> x.username().equalsIgnoreCase(
                        UPN_OF_USER_TO_BE_REMOVED)).findFirst().orElse(null);

pca.removeAccount(accountToBeRemoved).join();

瞭解更多資訊

如果你使用 MSAL for Java,請學習 MSAL for Java 中的自訂令牌快取序列化。