Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Uygulamanızın örnekleri arasında belirteç önbelleğini kalıcı hale getirmek için serileştirme mantığını özelleştirmeniz gerekir. Belirteç önbelleği serileştirmesinde yer alan Java sınıfları ve arabirimleri şunlardır:
- ITokenCache: Güvenlik belirteci önbelleğini temsil eden arabirim.
-
ITokenCacheAccessAspect : Erişimden önce ve sonra kod yürütme işlemini temsil eden arabirim.
@OverridebeforeCacheAccess ve afterCacheAccess işlevlerini, önbelleğin serileştirilmesi ve serileştirilmiş durumdan çıkarılmasından sorumlu mantıkla birlikte uygulardınız. - ITokenCacheAccessContext : Belirteç önbelleğine erişilen bağlamı temsil eden arabirim.
Aşağıda belirteç önbelleğinin özel serileştirmesinin basit bir uygulaması yer almaktadır.
Warning
Aşağıdaki örnek kod tam önbellek depolama yaşam döngüsünü göstermediğinden, bunu bir üretim ortamına kopyalayıp yapıştırmamanızı kesinlikle öneririz. Belirteç önbelleği için güvenlik ve erişim gereksinimlerinin farkında olduğunuzdan emin olun.
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();
Daha fazla bilgi edinin
Java için MSAL kullanarak belirteç önbelleğindeki hesapları alma ve kaldırma hakkında bilgi edinin.