Ninazu
@Ninazu

JWT и OAuth для нескольких устройств?

Как работает JWT и OAuth по отдельности я приблизительно представляю. Но как их совместить и при этом оставить возможность работы с несколькими устройствами? Я вижу это так

1. Клиент генерирует идентификатор для устройства. **DeviceId**
2. Передает **DeviceId**, **Login**, **Password** на сервер
3. Сервер генерирует **AccessToken**, **RefreshToken** и сохраняет в связке с **DeviceId** чтоб разграничить сессии на разных устройствах.

Тут то и вопросы:

1. Что из себя представляет в таком случае токены случайные хеши, или это JWT с каким-то paylaod внутри.
2. Нужно ли сохранять **AccessToken** в базу? Или он хранит в себе JWT с авторизированным пользователем, а сохраняется только **RefreshToken**
3. Что касательно компрометации токена на одном из устройств? При использовании **RefreshToken** атакующий разлогинит пользователя только на этом устройстве, либо **RefreshToken** только один для пользователя, и по истечению **AccessToken** на одном из устройств и генерации новой пары, будут разлогинены все устройства?

Как это вообще делается по уму, у кого есть опыт реализации?
  • Вопрос задан
  • 366 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы