nepster-web
@nepster-web

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

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

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

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

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

Войти через центр авторизации
Похожие вопросы
YCLIENTS Москва
от 200 000 до 350 000 ₽
Ведисофт Екатеринбург
от 25 000 ₽
ИТЦ Аусферр Магнитогорск
от 100 000 до 160 000 ₽
25 апр. 2024, в 11:20
1000 руб./за проект
25 апр. 2024, в 11:02
5000 руб./за проект
25 апр. 2024, в 10:42
150000 руб./за проект