来自ARM的访问令牌在收到时已过期

问题描述 投票:3回答:1

我正在创建一个以编程方式创建预定作业的应用程序,因此我使用Azure提供的REST API。我需要一个访问令牌,但是当我进行身份验证时,从请求返回的访问令牌会在发送给我的同时到期。

客户端ID是我在Azure AD上注册并复制应用程序ID的应用程序。

我在Keys刀片中创建了密钥。

我使用AzureEnvironment.AzureGlobalCloud.AuthenticationEndpoint/{My Azure ID}作为权限(https://login.microsoftonline.com/)我正在使用AzureEnvironment.AzureGlobalCloud.ResourceManagerEndpoint请求Azure资源管理器的访问令牌。

private async Task<string> GetAccessToken()
{
    _authContext = new AuthenticationContext($"{AzureEnvironment.AzureGlobalCloud.AuthenticationEndpoint}{ _jobConfig.TenantId}");
    var credential = new ClientCredential(_jobConfig.AzureApplicationId, _jobConfig.AzureApplicationSecret);
    var authResult = await _authContext.AcquireTokenAsync(AzureEnvironment.AzureGlobalCloud.ResourceManagerEndpoint, credential);

    return authResult.AccessToken;
}

_jobconfig是一个包含上述数据并在代码中引用的实例。

Debug Data

c# azure azure-active-directory
1个回答
0
投票

到期时间以协调世界时(UTC)显示,因此请务必查看您所在时区的内容。

如果Azure AD的令牌端点立即过期,它将是一个错误。该令牌可能仍然可以工作,因为令牌验证通常允许一点时钟偏差。

© www.soinside.com 2019 - 2024. All rights reserved.