我正在开发一个SDK,我们将遥测(1000 s事件/分钟)发送到Microsoft拥有的摄取服务。(SDK由Azure VMS或App服务上托管的we应用程序使用)该摄取服务目前支持使用托管身份(系统和用户指定)的身份验证。我的想法是依赖于Azure,并使用现有的‘DefaultAzureCredential’或ManagedIdentityCredential实现'TokenCredential‘获取令牌,并在初始化sdk时使用这个defaultCredential。一旦初始化了sdk,我的想法就是获取令牌并在每个请求上附加到授权头。
DefaultAzureCredential defaultCredential = new DefaultAzureCredentialBuilder()
.managedIdentityClientId("<MANAGED_IDENTITY_CLIENT_ID>")
.build();问题:
发布于 2021-03-23 08:16:51
在我看来,令牌不会被自动刷新,如果您想知道过期时间,您可以使用像fiddler这样的工具来捕获使用令牌的请求并使用jwo.io对其进行解码,您将得到'exp‘的声明,它是unix时间戳,您可以转换它,然后您就可以知道过期时间了。
到期时间由租户的策略管理,您可以按照本教程为您的访问令牌创建策略。因为您的代码只是新的DefaultAzureCredential(),所以在任何时候执行该行,它都会生成一个新的实例,这样您就不会担心令牌过期了。
https://stackoverflow.com/questions/66755453
复制相似问题