не слышал и не знаю как реагировать, чушь это или что?
Есть n сервисов, 1 из которых сервис аутентификации. Всё это крутится за Kong API Gateway. Предлагают реализовать следующий порядок работы:
1) Пользователь получает JWT токен в сервисе аутентификации
2) Запрос с прикрученным JWT проверяется в Kong
3) Если он не тухлый, предлагают распарсить его content часть в Kong и прикрепить нужные данные в качестве headers, затем проксировать этот запрос (уже без токена, просто с заголовками) в нужный сервис.
Как я понимаю, цель таких действий - убрать необходимость верифицировать JWT во всех сервисах, передавать сразу в заголовках инфу о пользователе, но я не уверен, что это вообще проблема...
В общем, ваше мнение об этой лабуде, господа!?
ну нормальная такая обычная распространенная схема
начни отсюда https://www.youtube.com/watch?v=SLc3cTlypwM
А почему просто не передавать JWT дальше "как есть"? Просто не прикручивать его проверку в роутах? Я вообще не уверен, что Kong так сможет...
Спасибо, сейчас гляну.
например потому что JWT может быть еще и зашифрован. Да и в принципе зачем тащить эту логику дальше в сервисы если можно реализовать в одном месте.
есть такой нюанс: часто кроме системы аутентификации, есть система авторизации - это когда для вызова микросервиса проверяются права доступа к нему. Это делается как раз на основании токена. И это может быть проблемой при централизованной авторизации
не на основании самого токена, а на основании пейлоада и тут уже возможны варианты.
да, если смотреть в корень, но централизованное управление правами доступа может быть проблематичным
Затем, чтобы не делать N лишних запросов как раз и не повышать латенси. Ничего тащить особенно не нужно, кроме секрета, предполагается, что библиотека для верификации уже есть. Минусы очевидны: если сервису будет недостаточно лишь аутентификации и потребуется что-то еще из базы, то идти в сервис все же придется Однако, одно другого не исключает
Очень похоже, кстати, что одни умельцы сначала внедрили JWT потому что хотелось, а другие сейчас не поняли зачем это вообще и избавляются таким образом. Задайся вопросом для чего внедряли, может ли latency иметь значение, посчитай сколько запросов в сервис аутентификации уйдет при 1 запросе извне, посчитай нагрузку на него)
Обсуждают сегодня