Size: a a a

2020 April 29

F

Foxcool in Go-go!
нуу как правило таки шлюз ставят, а не чекают токен на кажддом сервисе
источник

F

Foxcool in Go-go!
лишняя работа
источник

@

@mr_tron in Go-go!
Foxcool
лишняя работа
Волшебная вера в периметр
источник

AS

Andrei 🦉 Sergeev in Go-go!
Roman Sharkov
зачем?!
хз, мне это объясняли тем, что удобное хранилище прав получается)
источник

J

Je in Go-go!
Roman Sharkov
зачем?!
чтобы каждый микросерв мог аутентифицировать пользователя, разрешить некоторые действия роли и в конце концов записать в лог, чей это был запросс
источник

F

Foxcool in Go-go!
@mr_tron
Волшебная вера в периметр
авторизация межсервисных запросов - отдельная история
источник

RS

Roman Sharkov in Go-go!
Andrei 🦉 Sergeev
хз, мне это объясняли тем, что удобное хранилище прав получается)
в моём понимании экосистема микросервисов находится за Gateway сервисом, который представляет собой публичную API. Это единственный доступный из вне сервис. Именно этот сервис отвечает за аутентификацию. А во внутренних сервисах мы просто получаем user id и авторизируем
источник

F

Foxcool in Go-go!
эээ
источник

AS

Andrei 🦉 Sergeev in Go-go!
Roman Sharkov
в моём понимании экосистема микросервисов находится за Gateway сервисом, который представляет собой публичную API. Это единственный доступный из вне сервис. Именно этот сервис отвечает за аутентификацию. А во внутренних сервисах мы просто получаем user id и авторизируем
ну это один из подходов, мы его тоже применяем, а кто то делает диаметрально противоположную архитектуру)
источник

J

Je in Go-go!
Roman Sharkov
в моём понимании экосистема микросервисов находится за Gateway сервисом, который представляет собой публичную API. Это единственный доступный из вне сервис. Именно этот сервис отвечает за аутентификацию. А во внутренних сервисах мы просто получаем user id и авторизируем
вот получаем user id и авторизуем это N запросов на каждый сервис, и сколько таких в среднем на 1 пользовательский запрос?
источник

RS

Roman Sharkov in Go-go!
Andrei 🦉 Sergeev
ну это один из подходов, мы его тоже применяем, а кто то делает диаметрально противоположную архитектуру)
я против таких подходов, потому-что считают что микросервисы это деталь имплементации системы. А детали имплементации не должны вываливаться наружу
источник

J

Je in Go-go!
совершенно лишнее действие, когда есть JWT и ты можешь, расшарив ключ между сервисами, получать все метаданные
источник

RS

Roman Sharkov in Go-go!
Je
совершенно лишнее действие, когда есть JWT и ты можешь, расшарив ключ между сервисами, получать все метаданные
JWT неотменяем. Мы не можем надёжно закрыть сессию, а это в некоторых ситуациях совершенно неприемлемо с точки зрения безопасности.
источник

x

x-foby in Go-go!
Foxcool
тут же как с прометеем: вы снимаете нагрузку в виде действия на каждый запрос и превращаете ее в действие раз в какой-то период времени.

UPD: а мгновенность прям самая настоящая и не нужна. Вам надо решить 99% проблема - чтоб токен не был валиден еще 15 минут, а за несколько секунд перестал принимтаься шлюзом. Т.е. Закон Парето
Всё что вы говорите, будет работать (с оговорками), но это не опровергает тезис: jwt не даёт разлогина.
источник

J

Je in Go-go!
Roman Sharkov
JWT неотменяем. Мы не можем надёжно закрыть сессию, а это в некоторых ситуациях совершенно неприемлемо с точки зрения безопасности.
Само собой, где это неприемлемо, так это неприемлемо) мы же не говорим о некотором общем правиле
источник

J

Je in Go-go!
однако, я не встречал таких сервисов, где бы 1 час задержки для истечениия токена стали бы проблемой
источник

RS

Roman Sharkov in Go-go!
Je
однако, я не встречал таких сервисов, где бы 1 час задержки для истечениия токена стали бы проблемой
я рассматриваю JWT лишь как оптимизацию с trade-off’ом.
т.е. сначала в бой идут сессии, и только в крайнем случае их заменяют JWT
источник

J

Je in Go-go!
Roman Sharkov
я рассматриваю JWT лишь как оптимизацию с trade-off’ом.
т.е. сначала в бой идут сессии, и только в крайнем случае их заменяют JWT
я стал мудрее и в качестве id сессий сразу выпускаю JWT, складывая их также в хранилище, а когда проект вырастает, просто выпиливаешь хранилище и указываешь на ручку access/refresh, что всегда была рядом)
источник

RS

Roman Sharkov in Go-go!
Je
я стал мудрее и в качестве id сессий сразу выпускаю JWT, складывая их также в хранилище, а когда проект вырастает, просто выпиливаешь хранилище и указываешь на ручку access/refresh, что всегда была рядом)
сомнительный подход
источник

J

Je in Go-go!
что ж сомнительного? он почти всегда стает нужен, когда появляется желание трейсить запрос с метаданными и проводить глубокое a/b тестирование, а как бонус и сократить запросы к базе с одним и тем же запросом
источник