Подтвердить что ты не робот

Запомнить пользователей и восстановить функции пароля в Laravel 5.1 и Angular JS (аутентификация JWT)

Я использую laravel 5 и angular js и JWT-аутентификацию для регистрации и регистрации моих пользователей. Но ничего не сказано о том, чтобы облегчить пользователям запоминать мне функциональность, а также разрешать пользователям reset пароль при забытом пароле.

Я много исследовал и не нашел точно, что мне нужно, хотя ответ в следующей ссылке полезен, но неадекватен для меня. Laravel 5 Пароль reset с angular View

Просьба предоставить любую информацию и ссылки, которые будут полезны. Заранее спасибо!:)

4b9b3361

Ответ 1

Отвечать с точки зрения JWT.

Запомнить меня, по сути, спрашивает у пользователя, как долго они хотят войти в систему. В зависимости от требований безопасности и типичных шаблонов использования ваших пользователей короткие сеансы часто составляют от 15 минут до сеанса браузера. Длинные сеансы (выбор "Запомнить меня" ) могут быть от 24 часов до года.

Эмитент JWT может устанавливать требование exp (время истечения срока действия токена) по-разному в зависимости от выбора пользователем флажка "Запомнить меня" .

Если вы планируете "Запомнить меня" дольше, чем один сеанс браузера, самый простой способ - сохранить токен в cookie. Это означает, что cookie также должен иметь следующие свойства: httponly, secure и expires (с тем же временем истечения срока действия, что и требование exp от токена).

Rest Password. Реализации входят в различные формы и размеры в зависимости от ваших требований. Они не имеют прямого отношения к JWT, поскольку они появляются до того, как эмитент JWT выдаст токен.

Ответ 2

Вы просите что-то, что нужно будет обрабатывать специально для вашего дела. То, как большинство "запомни меня" работает в системе (включая Laravel), - это сохранение файла cookie на пользовательском устройстве. Этот файл cookie затем автоматически используется для аутентификации при возврате пользователя. JWT отличается тем, что вам предоставляется токен, а не cookie, который вы передаете серверу в заголовке. Они суть по существу строки букв и цифр, но вам нужно будет хранить токен JWT в пользовательском браузере, чтобы использовать функцию "помнить меня". Вы можете сделать это в приложении Angular, используя localStorage или другую аналогичную внешнюю практику.

Для забытого пароля вы можете отправить те же поля формы, которые по умолчанию являются Laravel, и просто переопределить способ возврата ответа PasswordController; в этом случае требуется ответ JSON, а не перенаправление.