Это безопасный метод для аутентификации пользователя? Если это так, можно ли упростить сокращение общего числа запросов? - PullRequest
0 голосов
/ 11 ноября 2018

Я копался в Коа и имел настройку, которая, казалось, работала нормально. Затем я решил, что SSR будет полезен, и я немного борюсь с созданием метода аутентификации, который прост.

По сути, я предпринимаю следующие шаги:

  1. Пользователь заходит на страницу обслуживания Next.JS.
  2. Пользователь нажимает «Войти через Facebook», и на мой сервер Koa отправляется запрос по адресу / auth / facebook
  3. OAuth с паспортом происходит, и токен генерируется и сохраняется для пользователя (либо создается, либо обновляется)
  4. Создается токен с очень коротким сроком действия, и пользователь перенаправляется в приложение Next.JS с токеном с коротким сроком действия в URL.
  5. Next.JS отправляет этот недолговечный токен в API-интерфейс Koa, и реальный токен доступа возвращается и сохраняется в файле cookie.
  6. Этот новый токен доступа используется для последующих запросов к API.

Это кажется очень сложным, и я чувствую, что, возможно, удастся вообще удалить короткоживущий шаг токена.

Из того, что я прочитал, не рекомендуется использовать Next.JS для логики, связанной с внутренним API, поэтому аутентификация происходит на сервере Koa-API и, следовательно, необходимо передать токен с коротким сроком службы получить настоящий токен.

Я слишком усложняю это? Есть ли более простой способ, которого я просто не вижу?

1 Ответ

0 голосов
/ 15 ноября 2018

После небольшого перебора я сократил его до нескольких запросов.

Я переместил Passport.js на пользовательский сервер Next.JS (используя Koa) и установил обратные вызовы для цели Next,Затем я проверяю токен для каждого запроса, так как он теперь сохраняется в Next.JS вместо моего API-сервера, вырезая 4 и 5.

...