Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Untuk mempertahankan cache token antar instans aplikasi, Anda harus menyesuaikan logika serialisasi. Kelas dan antarmuka Java yang terlibat dalam serialisasi cache token adalah sebagai berikut:
- ITokenCache: Antarmuka yang mewakili cache token keamanan.
-
ITokenCacheAccessAspect : Antarmuka yang mewakili operasi menjalankan kode sebelum dan sesudah akses. Anda akan
@OverridebeforeCacheAccess dan afterCacheAccess dengan logika yang bertanggung jawab untuk melakukan serialisasi dan deserialisasi cache. - ITokenCacheAccessContext : Antarmuka yang mewakili konteks di mana cache token diakses.
Di bawah ini adalah implementasi naif dari serialisasi kustom cache token.
Warning
Karena kode sampel di bawah ini tidak menampilkan siklus hidup penyimpanan cache lengkap, kami sangat menyarankan untuk tidak menyalin dan menempelkannya ke lingkungan produksi. Pastikan Anda mengetahui persyaratan keamanan dan akses untuk cache token.
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();
Selengkapnya
Pelajari tentang Mendapatkan dan menghapus akun dari cache token menggunakan MSAL untuk Java.