У меня проблема с пониманием того, как использовать маркер доступа к каналу, полученный из потока аутентификации OAuth2.
В моем случае клиент - Vue.js, сервер - Express.js, а средний уровень аутентификации - Passport.js.
Конфигурация потока паспорта и аутентификации является стандартной:
- Это стратегия Паспорта OAuth2 (в моем случае Асана)
- На сервере есть маршрутизация / auth / asana, которая вызывает passport.authenticate.
- На сервере есть маршрутизация / auth / asana / cb для обратного вызова от Asana.
- И есть успешный URL, указывающий на клиента.
Шаг за шагом, вот что я делаю:
- На клиенте / домашнем пользователе нажимает «Аутентификация», и я делаю перенаправление на сервер / auth / asana.
- server / auth / asana с помощью Passport.js перенаправляет на Asana, чтобы пользователь мог аутентифицироваться.
- сервер / auth / asana / cb получает аутентифицированного пользователя от Asana.
- сервер / auth / asana / cb перенаправляет пользователя обратно на клиент / дом.
- Из клиента / дома я хочу начать использовать API для извлечения данных.
Вот 3 вопроса:
- На сервере (Express.js, где используется Passport.js) как получить токен доступа на предъявителя?
- На клиенте (Vue.js), где должен храниться токен доступа носителя, чтобы его можно было использовать в запросах к внешнему API (в данном случае Asana)?
- Как передать токен переноса с сервера (Express.js) клиенту (Vue.js)?
Обратите внимание, что я прочитал множество статей по этому вопросу, и шаги с 1 по 4 в порядке, код для аутентификации и т. Д. Работает хорошо. Но, похоже, я здесь упускаю что-то фундаментальное, поскольку ни одна из статей не объясняет, как на самом деле использовать токен доступа на предъявителя после аутентификации.