Задать вопрос
nepster-web
@nepster-web

Как генерировать уникальный ключ для JWT, если его не рекомендуется хранить в базе?

Использую вот эту библиотеку: https://github.com/firebase/php-jwt
Как видно, для того, чтобы зашифровать/расшифровать токен необходим секретный ключ.

Если я хочу для безопасности для каждого токена генерировать свой уникальный ключ, то как я узнаю у кого, какой ключ если не буду хранить токеты в базе данных ?

Как кто, подходит к этому вопросу ?
  • Вопрос задан
  • 1810 просмотров
Подписаться 1 Оценить Комментировать
Решения вопроса 2
@kulaeff
Front-end developer
Хм, JWT и так придуман для безопасности. И что значит для каждого токена генерировать уникальный ключ? Секретный ключ для того и нужен, чтобы подписывать токены. Секретный ключ знает только сервер. Сервер сгенерил и подписал токен, отдал на фронт, далее фронт сделал запрос, отослав вместе с запросом токен, а сервер, зная секретный ключ, декодирует этот токен и идентифицирует пользователя, не обращаясь в БД.
Ответ написан
sayber
@sayber Куратор тега PHP
Да, я программирую на PHP и еще асинхронно!
Конечно его не надо хранить в БД.
Логин/Пароль прошли проверку, далее генерируется токен на основе данных пользователя, ролей и др. нужных нужных вам данных.
Вы отдаете токен на фронтенд.
При запросе с фронта, токен отправляется в заголовке X-AUTH-TOKEN.
Метод библиотеки проверят токен на валидность и может получить из него данные.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы