Аутентификация в приложении Vue SSR с помощью соцсети (passportjs) + сервер Node API + CORS(CORB)
Вопрос об архитектуре аутентификации.
Задача следующая:
- Мой пользователь в один клик регистрации (с Google или Facebook) в приложении и позже может получить от бэкенда ему персональное состояние приложения, когда он вошел в систему.
Что у меня уже есть:
Сервер: есть сервер API на Node/Express, где я храню состояние приложения для каждого пользователя в MongoDB/Mongoose.
Клиент: сервер рендеринга, на котором я предварительно представляю страницы + клиентский пакет.
Как реализовать аутентификацию passportjs?
Сейчас я пытаюсь добавить паспорт на мою серверную часть, но у меня есть некоторые трудности. Проблема с CORB: я не могу перенаправить на Google:
Блокировка чтения из разных источников (CORB) заблокировала ответ из нескольких источников в https://accounts.google.com/o/oauth2/v2/auth?response_type=code&redirect_uri=http%3A%2F%2Flocalhost%3A3001%2Fauth%2Fgoogle%2Fcb&scope=profile&client_id=124396949736-6t7k38uls25gfeq05c0lpob3b5id7o5e.apps.googleusercontent.com с MIME-типом text/html. См. https://www.chromestatus.com/feature/5629709824032768 для получения дополнительной информации.
И даже я решаю эту проблему CORB, я пытался, но еще не решил,
я добавил модуль cors (cors на npm) и сделал app.all([разрешить происхождение и т. д.]) и app.use([разрешить происхождение и т. д.)) - ничего не помогло
Но, если я решу это, тогда я не понимаю, как управлять маршрутами.
В сети я нашел несколько руководств по реализации passportjs, но все они только по стратегии JWT, где мы не используем перенаправление на сервисы 3dr.
Я прошу помочь мне найти нормальную практику для реализации аутентификации в приложении Vue / Node с рендерингом сервера. Буду благодарен за любые советы.
В веб-github / vue forum / различных блогах я не могу найти то, что мне нужно, но это странно, потому что это обычная задача???