我正在创建一个以编程方式创建预定作业的应用程序,因此我使用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
是一个包含上述数据并在代码中引用的实例。
到期时间以协调世界时(UTC)显示,因此请务必查看您所在时区的内容。
如果Azure AD的令牌端点立即过期,它将是一个错误。该令牌可能仍然可以工作,因为令牌验证通常允许一点时钟偏差。