Я следил за https://github.com/microsoftgraph/msgraph-sdk-java проектом по получению всех писем с использованием Microsoft Graph API
. Этот проект отлично работает на основе моей измененной конфигурации.
Однако, это следует за OAuth
аутентификацией, и мне нужно настроить URL-адрес перенаправления, и во время выполнения проекта я получил код аутентификации в качестве параметра запроса по данному URL-адресу.
Я застрял в двух точках:
Как обойти концепцию redirect_url
, так как мое приложение будет работать в фоновом режиме. Итак, есть ли способ, я могу автоматически захватить этот authentication code
?
При торговле кодом аутентификации я получаю access_token
с 3600 expiry
, используя метод ниже.
OAuth2AccessToken mAccessToken = mOAuthService.getAccessToken(authCodeFromURL);
В вышеуказанном объекте, получающем ниже JSON, который не имеет токена обновления.
{
"token_type": "Bearer",
"scope": "Files.ReadWrite openid User.Read Mail.Send Mail.ReadWrite",
"expires_in": 3600,
"ext_expires_in": 3600,
"access_token": "encryptedCode",
"id_token": "encryptedCode"
}
Я попытался получить новый токен доступа с методом ниже из SDK, используя id_token, но он не работает, выдает мне недействительным.
OAuth2AccessToken mAccessToken = mOAuthService.refreshAccessToken(idToken);
Неверный JSON:
{
"error": "invalid_grant",
"error_description": "AADSTS9002313: Invalid request. Request is malformed or invalid.\r\nTrace ID: 03690b71-4056\r\nCorrelation ID: b70a7b7b-963b-4cd6\r\nTimestamp: 2019-05-22 08:24:33Z",
"error_codes": [9002313],
"timestamp": "2019-05-22 08:24:33Z",
"trace_id": "03690b71-4056-49b9",
"correlation_id": "b70a7b7b-963b-4cd6"
}
Что такое id_token
?
Как я могу обновить это access_token
? Или есть другой способ / способ сделать это?
Пожалуйста, обратите внимание, я ищу решение с помощью Java SDK.