首页 > 解决方案 > MSAL4J 在不指定范围的情况下静默获取令牌

问题描述

我需要刷新访问令牌,acquireTokenSilently但我不想scopesSilentParameters. 我想为对象中建立的所有可能范围刷新它TokenCache

那么,我可以到达范围TokenCache吗?然后我可以通过 s SilentParameters。或者还有其他方法吗?

例如,如下所示,它已通过"User.Read"但我不想指定任何范围。我只想TokenCache默默地刷新我当前的访问令牌(它也建立在)。我怎样才能做到这一点?

app.tokenCache().deserialize(sampleTokenCache);
SilentParameters parameters = SilentParameters.builder( Collections.singleton("User.Read"),result.account()).build();
CompletableFuture<IAuthenticationResult> future = app.acquireTokenSilently(parameters);
IAuthenticationResult updatedResult = future.get();

标签: msal

解决方案


您可以通过在请求令牌时首先请求令牌(id 或访问)的方式来刷新当前的访问令牌。然后你需要检测过期的令牌并请求一个新的令牌。您可以在此处了解有关刷新令牌的更多信息。


推荐阅读