Срок действия токена от ARM истек при получении - PullRequest
0 голосов
/ 12 сентября 2018

Я создаю приложение, которое создает запланированные задания программно, поэтому я использую REST API, предоставляемый Azure. Мне требуется токен доступа, но когда я аутентифицируюсь, токен доступа, возвращенный из запроса, истекает в то же время, что и он мне.

Идентификатор клиента - это приложение, которое я зарегистрировал в Azure AD и скопировал идентификатор приложения.

Я создал секретный ключ в блейде Keys.

Я использую AzureEnvironment.AzureGlobalCloud.AuthenticationEndpoint/{My Azure ID} в качестве органа (https://login.microsoftonline.com/) Я запрашиваю токен доступа для диспетчера ресурсов Azure, используя AzureEnvironment.AzureGlobalCloud.ResourceManagerEndpoint.

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 - это экземпляр, содержащий упомянутые выше данные и ссылки в коде.

Отладочные данные

1 Ответ

0 голосов
/ 13 сентября 2018

Время истечения отображается в формате всемирного координированного времени (UTC), поэтому обязательно посмотрите, что находится в вашем часовом поясе.

Это будет ошибка в конечной точке токена Azure AD, если она истекает немедленно.Токен может все еще работать, хотя сначала, потому что проверка токена часто допускает небольшой перекос часов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...