Size: a a a

Архитектура ИТ-решений

2021 March 11

DM

Denis Migulin in Архитектура ИТ-решений
Phil Delgyado
Ровно за тем же - для обнаружения инцидентов
типа креды хранятся в базе и их может опс подсмотреть, а refresh хранится в памяти? не очень понял кейс
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Viktor Alexandrov
Пробовать)
В многопоточности этот подход не работает )
источник

SB

Sergey Bezrukov in Архитектура ИТ-решений
Phil Delgyado
Эээ, для каких языков? И я уверен, что нефига там это не предусмотрено (
источник

Ms

Mutko says in Архитектура ИТ-решений
сделать jwt с хорошим sla - вопрос уже посерьезней
источник

VA

Viktor Alexandrov in Архитектура ИТ-решений
Phil Delgyado
В многопоточности этот подход не работает )
Вопрос какие риски
источник

Ms

Mutko says in Архитектура ИТ-решений
Denis Migulin
типа креды хранятся в базе и их может опс подсмотреть, а refresh хранится в памяти? не очень понял кейс
креды дают постоянный доступ
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Denis Migulin
типа креды хранятся в базе и их может опс подсмотреть, а refresh хранится в памяти? не очень понял кейс
Подумай, зачем вообще нужна схема с двумя токенами )
источник

Ms

Mutko says in Архитектура ИТ-решений
токен - это просто то что знает сервер и клиент для имперсонации
источник

Ms

Mutko says in Архитектура ИТ-решений
в основном все токены short-lived
источник

Ms

Mutko says in Архитектура ИТ-решений
и для получения нового надо как раз дать рефреш токен
источник

DM

Denis Migulin in Архитектура ИТ-решений
Phil Delgyado
Подумай, зачем вообще нужна схема с двумя токенами )
чтобы не спрашивать пользователя заново, что он там разрешил, при короткой жизни access token
но в client credentials пользователя нет
источник

Ms

Mutko says in Архитектура ИТ-решений
есть)
источник

Ms

Mutko says in Архитектура ИТ-решений
jwt.io - введите токен и посмотрите что там в поле iat, uid
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Denis Migulin
чтобы не спрашивать пользователя заново, что он там разрешил, при короткой жизни access token
но в client credentials пользователя нет
Не только. Так как refresh-token одноразовый, то если к тебе прилетел повторный запрос на уже протраченный токен, то это говорит о компрометации (или проблемах с сетью) и однозначно повод послать пользователя на аутентификацию еще раз.
Ну и в теории перехватить refresh чуть сложнее, но это не принципиально.
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Denis Migulin
чтобы не спрашивать пользователя заново, что он там разрешил, при короткой жизни access token
но в client credentials пользователя нет
А я уже не только про client credentials, это мы уже вообще OAuth обсуждаем.
источник

VA

Viktor Alexandrov in Архитектура ИТ-решений
Phil Delgyado
Не только. Так как refresh-token одноразовый, то если к тебе прилетел повторный запрос на уже протраченный токен, то это говорит о компрометации (или проблемах с сетью) и однозначно повод послать пользователя на аутентификацию еще раз.
Ну и в теории перехватить refresh чуть сложнее, но это не принципиально.
у SPA нет рефреша обычно, как раз
источник

VA

Viktor Alexandrov in Архитектура ИТ-решений
поэтому, видимо, многопоточно обновить access — норм)
источник

PD

Phil Delgyado in Архитектура ИТ-решений
Viktor Alexandrov
у SPA нет рефреша обычно, как раз
Ну, там вообще беда со стандартами. Или все в куку пихать (но при этом компромпетацию не поймать) или таки два токена и refresh прятать где-то (память или локальное хранилище)
источник

Ms

Mutko says in Архитектура ИТ-решений
а можно добавить третий фактор и подписывать токен на стороне сервера ip адресом
источник

DM

Denis Migulin in Архитектура ИТ-решений
refresh token не обязательно одноразовый (по спеке)
пример понял, но имхо вероятность словить проблемы сети гораздо выше, чем компрометацию
источник