Как обрабатывать токены обновления и аутентификации на стороне клиента?(где хранить) - PullRequest
0 голосов
/ 23 декабря 2018

Я использую laravel для back-end и vue для front-end.

Когда пользователь хочет пройти аутентификацию, он вызывает мой API-интерфейс laravel, получает токен Auth и обновляет токен.Токен аутентификации действителен только 2 минуты, но токен обновления является долгоживущим.Поэтому, если я сохраню токен обновления где-нибудь на стороне пользователя, он может оставаться в системе в течение длительного времени, но меня беспокоит безопасность, если я сохраню токен обновления в локальном хранилище, это уязвимо.Я могу сохранить токен аутентификации в локальном хранилище, потому что он недолговечный, и даже если его украдут, мне все равно, но я не знаю, как обращаться с токеном обновления.

Сложность в том, что я не делаюхотите, чтобы пользователь вводил свои учетные данные при каждом открытии приложения.

Итак, вопрос в том, где я могу сохранить токен обновления?а где аутентификационный токен?

1 Ответ

0 голосов
/ 23 декабря 2018

Использовать токен обновления имеет смысл, только если вы храните его не так, как токен доступа.Если он хранится одинаково, это только увеличивает сложность, но оба будут скомпрометированы одинаково.

Вы можете сохранить токен обновления в файле cookie httponly, даже лучше, если файл cookie предназначен для другого домена (idp), но это имеет смысл и в том же домене.Идея состоит в том, что даже если токен доступа скомпрометирован в атаке, подобной xss, токен обновления все еще недоступен.

...