Паспорт. js - Код авторизации Exchange, полученный от клиента для токена доступа. - PullRequest
0 голосов
/ 29 апреля 2020

Google OAuth 2.0 рекомендует следующий oauth поток:

гибридный поток на стороне сервера, где пользователь авторизует ваше приложение на стороне клиента с помощью JavaScript Клиент API, и вы отправляете специальный одноразовый код авторизации на свой сервер. Ваш сервер обменивается этим одноразовым кодом для получения своего собственного доступа и перенаправления токенов sh от Google, чтобы сервер мог выполнять свои собственные вызовы API, что можно сделать, пока пользователь находится в автономном режиме.

Я пытаюсь сделать именно это, но вместо этого использую passport.js. В обычном (полностью на стороне сервера) рабочем процессе Passport ожидает одноразовый код авторизации от Google в параметре запроса по ссылке перенаправления (например: /auth/google/redirect). Следовательно, я ожидал бы, что та же конечная точка перенаправления будет работать, если я вызову ее с моего клиента (с кодом авторизации) вместо того, чтобы Google перенаправлял ее на.

Однако, когда я пытаюсь это сделать, я получаю следующая ошибка из паспорта:

TokenError: Bad Request
    at Strategy.OAuth2Strategy.parseErrorResponse (node_modules/passport-oauth2/lib/strategy.js:358:12)
    at Strategy.OAuth2Strategy._createOAuthError (node_modules/passport-oauth2/lib/strategy.js:405:16)
    at node_modules/passport-oauth2/lib/strategy.js:175:45
    at node_modules/oauth/lib/oauth2.js:191:18
    at passBackControl (node_modules/oauth/lib/oauth2.js:132:9)
    at IncomingMessage.<anonymous> (node_modules/oauth/lib/oauth2.js:157:7)
    at IncomingMessage.emit (events.js:327:22)
    at endReadableNT (_stream_readable.js:1201:12)
    at processTicksAndRejections (internal/process/task_queues.js:84:21)

Неправильно ли ожидать, что код, отправленный с моей клиентской стороны, будет работать таким образом? Что я делаю не так?

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