Obtenha e remova contas da cache de tokens usando MSAL para Java

O MSAL para Java fornece, por defeito, uma cache de tokens em memória. A cache de tokens em memória persiste durante toda a execução da aplicação.

Veja quais as contas que estão na cache

Pode verificar que contas estão na cache chamando PublicClientApplication.getAccounts() , como mostrado no seguinte exemplo:

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

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

Remover contas da cache

Para remover uma conta da cache, encontre a conta que precisa de ser removida e depois ligue PublicClientApplication.removeAccount() , conforme mostrado no seguinte exemplo:

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();

Saiba mais

Se estiveres a usar MSAL para Java, aprende sobre serialização personalizada da cache de tokens em MSAL para Java.