Пожалуйста разобраться в вопросе. Нужен ответ в самом общем виде, без привязки к каким-нибудь конкретным языкам и технологиям. Заранее извиняюсь за многобукв
Допустим, есть 2 сервера. На одном поднят бекенд, на другом фронтенд. При этом кроссдоменные запросы принимаются без проблем и вообще приложение работает
Я хотел бы реализовать систему аутентификации. Раньше, когда в моих приложениях для фронтенда и бекенда использовался один и тот же сервер я использовал значение токена, который сам фреймворк генерировал и помещал в сессию. Сути этого процесса я не понимал
У меня есть идея как решить проблему для моего случая. я её опишу, а вы пожалуйста скажите хорошее ли оно или лучше использовать другое
1. В БД есть таблица users. В ней каждый пользователь системы имеет свою запись. в этой записи хранится его персональный пароль, зашифрованный при помощи какого-нибудь алгоритма шифрования
2. id этой записи используются при выборке из всех остальных таблиц БД
3. При попытке регистрации пользователь видит форму, в которую вводит пароль. После отправки формы на стороне бекенда этот пароль шифруется тем же алгоритмом шифрования(что и в пункте 1) и происходит поиск совпадающей строки в таблице users
4. Если такая строка найдена, то хранилице браузера(куки/локалсторадж/сессионсторадж) происходит запись не зашифрованного пароля и id записи.
5. После этого пользователь считается авторизованным и получает доступ к недоступным до этого разделам сайта. Но при каждом запросе данных, кроме всего прочего, отправляется также не зашифрованный пароль и id, которые хранятся в хранилище браузера
6. И на стороне бекенда в каждом контроллере стоит условие, которое шифрует принятый пароль и ищет совпадение в таблице users. Если совпадение найдено, то контроллер отдаёт данные