gpt4 book ai didi

azure - 使用 Azure 资源管理 API 时处理刷新 AAD token 的最佳实践

转载 作者:行者123 更新时间:2023-12-02 23:49:20 24 4
gpt4 key购买 nike

我正在遵循此指南 https://azure.microsoft.com/en-us/documentation/articles/hdinsight-hadoop-create-linux-clusters-dotnet-sdk/使用基于 ARM 的 HDInsight 客户端创建集群。

逻辑是这样的:

var authToken = authContext.AcquireToken(params...);
var hdiClient = new HDInsightManagementClient(authToken);
hdiClient.Clusters.Create(params...);
//use hdiClient to do other things, like create clusters ...

由于 AAD token 只有 1 小时的过期时间。当我使用hdiClient创建集群并查询状态时,确实很容易命中。在这种情况下,我需要将我用来处理更新 token 的所有方法包装在 hdiClient 中。

有没有最佳实践来处理这个问题?或者是否有向用户公开的 token 过期事件来处理它?虽然我的案例是 HDInsight 场景,但我认为所有 Azure 资源管理器客户端在使用 AAD 时都应该遇到类似的问题...

最佳答案

建议的最佳做法是在每次调用之前刷新访问 token 。这是编写代码检查访问 token 过期日期和时间并在 token 即将过期时刷新 token 的解决方法。

要刷新通常缓存的访问 token ,您只需使用相同的上下文再次调用 AcquireToken 方法即可。

AuthenticationResult result = authContext.AcquireToken(resource, clientId, new Uri(redirectUrl));

关于azure - 使用 Azure 资源管理 API 时处理刷新 AAD token 的最佳实践,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39429926/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com