Я копался в Коа и имел настройку, которая, казалось, работала нормально. Затем я решил, что SSR будет полезен, и я немного борюсь с созданием метода аутентификации, который прост.
По сути, я предпринимаю следующие шаги:
- Пользователь заходит на страницу обслуживания Next.JS.
- Пользователь нажимает «Войти через Facebook», и на мой сервер Koa отправляется запрос по адресу / auth / facebook
- OAuth с паспортом происходит, и токен генерируется и сохраняется для пользователя (либо создается, либо обновляется)
- Создается токен с очень коротким сроком действия, и пользователь перенаправляется в приложение Next.JS с токеном с коротким сроком действия в URL.
- Next.JS отправляет этот недолговечный токен в API-интерфейс Koa, и реальный токен доступа возвращается и сохраняется в файле cookie.
- Этот новый токен доступа используется для последующих запросов к API.
Это кажется очень сложным, и я чувствую, что, возможно, удастся вообще удалить короткоживущий шаг токена.
Из того, что я прочитал, не рекомендуется использовать Next.JS для логики, связанной с внутренним API, поэтому аутентификация происходит на сервере Koa-API и, следовательно, необходимо передать токен с коротким сроком службы получить настоящий токен.
Я слишком усложняю это? Есть ли более простой способ, которого я просто не вижу?