Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Als u de tokencache tussen exemplaren van uw toepassing wilt behouden, moet u de serialisatielogica aanpassen. De Java klassen en interfaces die betrokken zijn bij serialisatie van tokencaches zijn de volgende:
- ITokenCache: Interface die de beveiligingstokencache vertegenwoordigt.
-
ITokenCacheAccessAspect : Interface die de werking van het uitvoeren van code vóór en na toegang vertegenwoordigt. U zou
@OverridevóórCacheAccess en afterCacheAccess de logica gebruiken die verantwoordelijk is voor het serialiseren en deserialiseren van de cache. - ITokenCacheAccessContext : Interface die de context vertegenwoordigt waarin de tokencache wordt geopend.
Hieronder ziet u een naïeve implementatie van aangepaste serialisatie van de tokencache.
Warning
Omdat de onderstaande voorbeeldcode niet de volledige levenscyclus van de cacheopslag laat zien, wordt u ten zeerste aangeraden deze niet te kopiëren en in een productieomgeving te plakken. Zorg ervoor dat u op de hoogte bent van de beveiligings- en toegangsvereisten voor de tokencache.
static class TokenPersistence implements ITokenCacheAccessAspect {
String data;
TokenPersistence(String data) {
this.data = data;
}
@Override
public void beforeCacheAccess(ITokenCacheAccessContext iTokenCacheAccessContext) {
iTokenCacheAccessContext.tokenCache().deserialize(data);
}
@Override
public void afterCacheAccess(ITokenCacheAccessContext iTokenCacheAccessContext) {
data = iTokenCacheAccessContext.tokenCache().serialize();
}
// Loads cache from file
String dataToInitCache = readResource(this.getClass(), "/cache_data/serialized_cache.json");
ITokenCacheAccessAspect persistenceAspect = new TokenPersistence(dataToInitCache);
// By setting *TokenPersistence* on the PublicClientApplication, MSAL will call *beforeCacheAccess()* before accessing the cache and *afterCacheAccess()* after accessing the cache.
PublicClientApplication app =
PublicClientApplication.builder("my_client_id").setTokenCacheAccessAspect(persistenceAspect).build();
Meer informatie
Meer informatie over het ophalen en verwijderen van accounts uit de tokencache met behulp van MSAL voor Java.