У меня проблемы с обменом кода авторизации Google для доступа и обновления токенов.
Используя клиентскую библиотеку googleapis nodejs, я могу сгенерировать аутентификационный URL и успешно получить аутентификационный код, вызвав URL. Проблема возникает, когда я пытаюсь обменять этот код авторизации на моем сервере.
Я выполняю POST-вызов на https://www.googleapis.com/oauth2/v3/token' со следующими параметрами:
tokenData = {
code: [code from client],
client_id: [client ID used to get the auth code client-side],
client_secret: [client secret associated with the ClientID],
grant_type: 'authorization_code',
redirect_uri: 'postmessage'
};
После этого звонка я просто получаю сообщение:
{error=unauthorized_client, error_description=Unauthorized}
Я трижды проверил, что ClientID, используемый клиентом для получения кода авторизации, совпадает с кодом на сервере, и что URL-адрес клиента был добавлен к авторизованному источнику JavaScript в консоли Google.
Я провел обширный поиск в Google, чтобы попытаться найти решение, но, похоже, мало документации о том, что может быть причиной ошибки "unauthorized_client". Буду признателен за любую оказанную помощь.