msal - MSAL4J 在不指定范围的情况下静默获取令牌
问题描述
我需要刷新访问令牌,acquireTokenSilently
但我不想scopes
在SilentParameters
. 我想为对象中建立的所有可能范围刷新它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();
解决方案
您可以通过在请求令牌时首先请求令牌(id 或访问)的方式来刷新当前的访问令牌。然后你需要检测过期的令牌并请求一个新的令牌。您可以在此处了解有关刷新令牌的更多信息。
推荐阅读
- android - 如何创建具有自定义 id 值的微调器?
- python-3.x - 单击使用 Python 和 Selenium 打开嵌套的无序列 HTML 列表(下拉菜单)
- android - 将我的 localhost 网站转换为 android 应用程序
- java - 是/否带扫描仪的循环
- select - 如何将单列显示为与其他列值有某种关系的行
- android - 如何添加这个 google play 更新对话框?
- python - 如何正确缓存 Python 依赖项
- jquery - 如何使用ajax将多个数据从控制器发送到页面html
- amazon-web-services - 如何将 AWS Secret Manager 与 Spring Boot 应用程序集成
- java - 如何创建使用另一个通用 Java 接口键入的通用 Java 接口?