#node.js #reactjs #authentication #passport.js #server-side-rendering
#node.js #reactjs #аутентификация #passport.js #рендеринг на стороне сервера
Вопрос:
Я занимался бэкэндом в течение последнего месяца, и я закончил со следующими вещами-
- Аутентификация сеансов Passport в ванильном JS (обслуживание файлов EJS)
- Паспортная аутентификация JWT в ванильном JS (обслуживающая файлы EJS)
- Рендеринг ReactJS на стороне сервера (без аутентификации)
На данный момент я сначала хочу реализовать аутентификацию в простом проекте React (без SSR), затем я перейду к части SSR.
ПУТАНИЦА — в каждом руководстве по аутентификации React, которое я нашел, люди используют серверную часть в качестве API вместе с сервером внешнего интерфейса (например, webpack-dev-server). Это заставляет меня немного скептически относиться к этому подходу, потому что во всех моих проектах React до сих пор я использовал внутренний сервер для обслуживания статических файлов сборки, отправленных npm run build
. (именно то, что я бы сделал с файлами EJS)
Разве использование сервера разработки не должно влиять на производительность? Я даже не смог найти ни одного учебника по аутентификации React, в котором не использовался бы сервер разработки. У меня есть несколько вопросов-
- Действительно ли это хороший выбор для использования dev-сервера с внутренним API? ИЛИ это даже единственный способ выполнить аутентификацию в React? Разве мы не можем сделать это, используя только внутренний сервер со статическими файлами, обслуживаемыми из папки сборки?
- Если я пройду простую сеансовую аутентификацию для ReactJS, что должно быть более безопасным — JWT или такие сервисы, как Auth0?
- Какие методы используются при работе с аутентификацией SSR?
Комментарии:
1. Я очень смущен вашим вопросом и тем, что вы спрашиваете, в частности. С помощью чего вы пытаетесь пройти аутентификацию? Какое отношение эти файлы EJS имеют к вашим вызовам API? Какое отношение к этому имеет ваш сервер разработки? И что вы имеете в виду, в частности, «создавать файлы с аутентификацией»?
2. @Brad Прошу прощения за нечеткость, но я внес некоторые изменения, чтобы прояснить свой вопрос. Пожалуйста, прочтите это еще раз!
3. Ах, ваш вопрос на самом деле о Webpack. Этот сервер разработки Webpack не нужен и предоставляется только для удобства. Да, вы определенно можете использовать любой сервер, который хотите, и обслуживать созданные файлы.
4. О, понял. Итак, не могли бы вы ответить на два других вопроса?
5. построение аутентификации на стороне сервера немного рискованно. вам необходимо поддерживать сеанс для каждого пользователя, который вошел в систему