#node.js #express #authentication
#node.js #экспресс #аутентификация
Вопрос:
В настоящее время я работаю над приложением с интерфейсом React и серверной частью Node / Express. Существуют определенные функции приложения, которые я хочу, чтобы мог использовать только пользователь-администратор, поэтому я хочу реализовать форму входа администратора, которая принимает имя пользователя и пароль. Это будет единственный пользователь, который есть в этом приложении.
Как бы я это реализовал? Я рассмотрел такие технологии, как passport.js и express-basic-auth, но мне интересно, есть ли более простой способ реализовать это, поскольку существует только один пользователь. Любой совет был бы очень признателен!
Ответ №1:
Если вы хотите сделать это самостоятельно, то всякий раз, когда пользователь входит в приложение, создайте для пользователя authtoken, сохраните его в серверной части и отправьте authoken в качестве ответа на успешный вход. Далее сохраните authtoken как cookie во внешнем интерфейсе. Далее будет при выполнении любого действия, которое вам нужно отправить authtoken на сервер. Если этот authtoken присутствует на стороне сервера, вы продолжаете действие или отправляете ошибку ответа, в которой говорится, что authtoken недействителен для чего-то подобного. При выходе из приложения не забудьте удалить cookie-файл, а также удалить authtoken из серверной части.
Вы можете добавить это, если хотите, где, если предоставленная аутентификация неверна, вы можете просто удалить authtoken из серверной части и перенаправить пользователя на страницу входа, на которой истекает срок действия cookie из интерфейса.