【发布时间】:2021-02-04 04:44:21
【问题描述】:
我正在尝试使用Azure Identity Java SDK 获取访问令牌,然后使用刷新令牌刷新它。
我使用以下 SDK:
<dependency>
<groupId>com.azure</groupId>
<artifactId>azure-identity</artifactId>
<version>1.1.2</version>
</dependency>
Java 代码 sn-p:
context = new AuthenticationContext(authority, false, service);
ClientCredential credential = new ClientCredential(clientId, clientSecret);
Future<AuthenticationResult> future = context.acquireToken(resource, credential, null);
token = future.get().getAccessToken();
在代码 sn-p 中,token 的有效期如预期一样为 1 小时,见Link。
ClientSecretCredential实现了TokenCredential接口,说明刷新访问令牌必须单独实现。
我在 Microsoft 文档(或其他资源)中找不到任何描述如何使用 Java SDK 刷新令牌的示例。
刷新访问令牌的正确方法是什么?
【问题讨论】:
-
你必须使用客户端凭证流吗?
-
我正在使用
StorageCredentialsToken中的令牌来初始化CloudStorageAccount。在使用服务主体时,您会建议其他方法吗? -
您好@AndreasHessenthaler,您使用的是 MSAL 还是任何其他库?
标签: azure-active-directory access-token refresh-token azure-java-sdk azure-service-principal