Помните о пользователях и функциях забытых паролей в Laravel 5.1 и Angular JS (JWT-аутентификация)
Я использую laravel 5 и angular js и JWT аутентификацию для регистрации и регистрации моих пользователей. Но ничего не сказано о том, чтобы облегчить пользователям функциональность "Помни меня", а также разрешить пользователям сбрасывать пароль, когда забыл пароль.
Я много исследовал и не нашел именно то, что мне нужно, хотя ответ по следующей ссылке полезен, но не подходит для продолжения. Laravel 5 Сброс пароля с угловым обзором
Просьба предоставить любую информацию и ссылки, которые будут полезны. Заранее спасибо!:)
2 ответа
Ответить с точки зрения JWT.
Помните, что я по сути спрашиваю пользователя, как долго он хочет войти в систему. В зависимости от требований безопасности и типичных моделей использования ваших пользователей, короткие сеансы часто составляют от 15 минут до сеанса браузера. Длинные сеансы (выбирая "Помни меня") могут длиться от 24 часов до года.
Эмитент JWT может по-разному устанавливать претензию exp (время истечения токена), в зависимости от того, выбрал ли пользователь флажок "Запомнить меня".
Если вы хотите, чтобы "Запомнить меня" длилось дольше, чем один сеанс браузера, самый простой способ - сохранить токен в файле cookie. Это означает, что для файла cookie также должны быть установлены следующие свойства: httponly, secure и expires (с тем же временем истечения срока действия, что и для exp-запроса токена).
РеализацииRest Password бывают разных форм и размеров в зависимости от ваших требований. Они не имеют прямого отношения к JWT, поскольку они поступают до того, как издатель JWT выпустит токен.
Вы просите что-то, что нужно будет обработать специально для вашего случая. Большинство систем "помни меня" (включая Laravel) работают путем хранения файлов cookie на устройстве пользователя. Затем этот файл cookie используется для автоматической аутентификации при возврате пользователя. JWT отличается тем, что вы получаете токен, а не cookie, который вы передаете обратно на сервер в заголовке. Обе они, по сути, представляют собой строки букв и цифр, но вам необходимо хранить токен JWT в браузере пользователя, чтобы обеспечить функциональность типа "запомни меня". Вы можете сделать это в приложении Angular, используя localStorage или другой подобный интерфейс.
Для забытого пароля вы можете отправить те же поля формы, которые по умолчанию используются в Laravel, и просто переопределить, как PasswordController возвращает ответ; в этом случае нужен ответ JSON, а не перенаправление.