Аутентификация в приложении Vue SSR с помощью соцсети (passportjs) + сервер Node API + CORS(CORB)

Вопрос об архитектуре аутентификации.

Задача следующая:

  1. Мой пользователь в один клик регистрации (с 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 / различных блогах я не могу найти то, что мне нужно, но это странно, потому что это обычная задача???

0 ответов

Другие вопросы по тегам