генерирует ему access токен для доступа.
При повторной авторизации рефреш токен изменяется.
1 вопрос. Рефреш токен мы же храним в БД, а access токен сы расшифроваем и проверяем его на валидность, верно? ( если нет, то объясните)
2 вопрос. Вот я получил рефреш токен на пк от пользователя "Петя" и захотел авторизоваться через телефон под пользователем "Петя", тем самым получу рефреш токен, а предыдущий станет не валидным, и получается с ПК я разлогинусь. Возможно ли реализовать для нескольких устройств, если да, то как?
Лучше не делай свою авторизацию, это проклятая область как и криптография. Чем меньше отсебятины, тем лучше
Там всё настолько хуево в плане секурити, что проебаться можно ВЕЗДЕ. поэтому там странные куки, хедеры, стейты какие-то пересылаются, токены в фрагментах, редирект урлы с вайтлистом
И тут ты должен предложить приобрести свое платное решение
Я кстати могу предложить свои платные услуги по настройке айдентити менеджмента в вашей компании! Облачное, онпрем, легаси, кастом, федерации, хуерации, ССО - 500 долларов в час и я твоя
Чисто для себя понимать
1. Рефреш токен хранится у юзера где-то (локал сторадж, куки) Айди этого токена (jti) хранится на сервере для возможного ревоука (отзыва) и для мониторинга сессий. 2. Ты можешь иметь несколько активных сессий. Можешь и не иметь. Зависит от твоих секурити политик. От них и настраивай выдачу токенов (отзывать все предыдущие при логине из нового места или вносить в список активных с уведомлением о логине из нового места/девайса предыдущим сессиям)
а как примерно в коде бы выглядело? я бы раскодировал полученный токен от клиента и проверял его на актуальность?
Сверял бы айди токена со списком активных сессий пользователя и если не находил бы там такой - кидал бы в ответ 401
а несколько пользователей?
У каждого пользователя свой список активных сессий)
Обсуждают сегодня