首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Azure托管标识中访问令牌的过期时间是多少?

Azure托管标识中访问令牌的过期时间是多少?
EN

Stack Overflow用户
提问于 2019-01-04 19:04:28
回答 2查看 2.1K关注 0票数 1

我正在使用下面的代码生成访问令牌,以使用AAD身份验证将我的应用程序代码连接到Azure SQL。我需要知道这个令牌的过期时间。

为了找到过期时间,我尝试了两种方法:

1)创建一个连接到Azure SQL的控制台应用程序,并使用AAD身份验证执行一些数据操作。连续循环运行此应用程序超过一个小时。此处发现令牌在1小时后过期

2)在iisexpress中创建Web App和主机。在web应用程序中,编写与控制台应用程序中相同的数据访问代码。在一个小时以上的循环中多次调用Web App url。在这里,令牌也在大约一个小时后到期。

3)与第2点相同,不同之处在于Web应用程序托管在Azure中并启用了托管身份。在这里,令牌在1小时后没有过期。

因此,令牌过期时间与发出调用的环境相关联。我需要找出令牌在不同场景下的确切过期时间。我找不到任何文件。我所发现的是令牌将被缓存在内存中,并且在到期时将被更新。

代码语言:javascript
运行
复制
var provider = new AzureServiceTokenProvider();
string token = provider.GetAccessTokenAsync("https://database.windows.net/").Result;

SqlConnection con = new SqlConnection("connstring");
con.AccessToken = token;
EN

回答 2

Stack Overflow用户

发布于 2019-01-04 20:00:23

默认情况下,访问令牌将在1小时后过期。

当前通过应用验证库获取的令牌在距离到期时间不足5分钟时会被刷新。因此,在默认情况下,它会缓存令牌55分钟。

您可以在此处看到该库定义过期时间的位置:https://github.com/Azure/azure-sdk-for-net/blob/e3bc748ea19040f9f18375aa907246f5b8b882a7/src/SdkCommon/AppAuthentication/Azure.Services.AppAuthentication/AppAuthenticationResult.cs#L40-L44

票数 4
EN

Stack Overflow用户

发布于 2021-05-05 02:55:38

这不是我的经验。在您提供的类似场景中,我能够使用令牌24小时,甚至在生成过程中,我也可以看到令牌的生存期设置在哪里(86400秒)。但是,这是使用VM系统分配的托管ID。这是在上周测试的。

我们已经看到令牌生存期的不同取决于请求令牌的服务类别/类别(例如,计算(VM)、管理和治理(AA)等)

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54037738

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档