我正在创建一个以编程方式创建计划作业的应用程序,因此,我使用的是Azure提供的REST API。我需要一个访问令牌,但是当我进行身份验证时,从请求返回的访问令牌在发送给我的同时也会过期。
客户端ID是我在Azure AD上注册并复制了该应用程序ID的应用程序。
我在“密钥”刀片中创建了秘密密钥。
我使用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
是包含上述数据并在代码中引用的数据的实例。
答案 0 :(得分:0)
到期时间以协调世界时(UTC)显示,因此请确保查看您的时区。
如果Azure AD的令牌终结点立即到期,则可能是错误。 令牌一开始可能仍然可以工作,因为令牌验证通常会允许一点时钟偏斜。