У меня все еще есть сомнения относительно моей логики аутентификации, и я хочу проверить, является ли это лучшим подходом или есть другой лучший и безопасный метод, чтобы следовать.Теоретически, я понимаю общий аспект OAUTH2, но я не блестящий, и я не все ясно вижу.Поэтому я могу ошибаться в своем подходе ниже.
В приложении Laravel API входа возвращает токен доступа, сгенерированный Passport, наряду с другими данными.Я сохраняю этот токен доступа в Redux и каждый раз, когда делаю запрос, отправляю его на сервер.Однако после полной перезагрузки приложения я снова попадаю на страницу входа.Так как при полной перезагрузке будет сброшено состояние Redux, включая токен, поэтому я ожидаю, что.
Для решения этой проблемы я использую ответить-куки следующим образом:
1- логин пользователя
2- API возвращает ответ.
3- Сохраните ответ в Redux.
4- Используйте куки-реакции для сохранениятокен доступа в браузере.
5- И каждый раз, когда приложение работает, оно будет проверять, есть ли токен в куки, если это так, пользователь считается вошедшим в систему.
6- Я думаю, чтоСледующим шагом для меня сейчас является создание API, который принимает параметр токена и возвращает информацию о пользователе, чтобы сохранить его в Redux.(Я еще не реализовал этот шаг, поэтому я не делаю сейчас, если это возможно и будет работать без проблем)
Пока все работает нормально, но я хочу, в общем, проверить с вамиесли это один из ПРАВИЛЬНЫХ СПОСОБОВ для аутентификации с помощью Laravel API и React?Я делаю что-то неправильно ?Я знаю, что есть много способов и методов.
1- Я хочу спросить, особым образом, могу ли я использовать установить cookie в ответе на вход в систему, чтобы сохранить токен, не используяреагировать печенье?Является ли это возможным ?И лучше ли?
2 - А как насчет безопасности моего приложения?Обязательно ли использовать CSRF в качестве мета-кода также для его защиты или достаточно использовать только токен доступа?
3- Как насчет токенов с истекшим сроком действия?Должен ли я создать API с именем check_session_status, чтобы проверить, есть ли у пользователя токен с истекшим сроком действия или нет?
React App - это изолированное приложение, я не генерировал его с помощью скаффолдинга Laravel, и я использую fetch для выполнения вызовов к конечным точкам.(не axios)
Спасибо за ваше время!