169 похожих чатов

Кто-Нибудь делал JWT token вместе с API Gateway? Чтобы сервер

авторизации был отдельным микросервисом и при авторизации заходили бы на него и получали токен, который мог бы использоваться при запросах на другие сервисы. Хотелось бы узнать какие инструменты оптимально использовать для этой задачи

24 ответов

23 просмотра

кейклок ставишь и используешь

Зависит от проекта, если у тебя standalone-приложение, то, кмк, самое правильное - сделать свой authn-сервер, который будет ходить в разные IdP. Если же SaaS, то можно сразу использовать тот же кейклок для authn-сервера.

Alexandr ∨∧‾ Emelyanov
свой имплементировать?)

Да как хочешь, можешь взять готовый rp-клиент, я вот для своих проектов написал маленькую либу на го, так как остальные мне не понравились, но априори завязываться на кейклок не самая лучшая идея, OIDC все-таки про identity.

Ilya Starchenko
Да как хочешь, можешь взять готовый rp-клиент, я в...

Собственно, spring-security позволяет делать и так(oauth2login), и так(resource server). Не говоря про spring authorization server.

Ilya Starchenko
Да как хочешь, можешь взять готовый rp-клиент, я в...

Чего на него завязываться то, если работать как с oauth2 провайдером

Alexandr ∨∧‾ Emelyanov
Чего на него завязываться то, если работать как с ...

Ты завязываешь на не свой authorization-сервер. Идея OAuth2 именно в том, что авторизационный сервер это third party, например существующий у клиента. Они дали client ID и client secret, и поставили время жизни ID Token'а в 60 секунд, и все, наша сессия теперь 60 секунд(особенно у кейклока проблемы с лайфтаймом). Поэтому нам необходим свой authn-cервер, который будет выпускать свои токены.

Ilya Starchenko
Ты завязываешь на не свой authorization-сервер. Ид...

А зачем свой велосипедить? И какая проблема с временем жизни? Это все настраивается в пару кликов

Alexandr ∨∧‾ Emelyanov
А зачем свой велосипедить? И какая проблема с вре...

Какой свой велосипед? Я не призываю писать свой rp-клиент, можешь взять существующий, я говорю о том, что OIDC не подразумевает использовать токены для авторизации, использование конкретного 3rd party сервера авторизации привязывает тебя к этому серверу авторизаций. И довольно распространенная схема использовать свой сервер авторизации со своими токенами(сессиями). Проблема кейклока в том, что время токена = время сессии в рилме, а не клиенте, уже несколько релизов это проблема, хотя это просто пример, возьми когнито, который часть полей не возвращает в idToken.

так, хорошо, что ты имеешь ввиду под своим сервером?

с токенами так и не понял прблемы

Alexandr ∨∧‾ Emelyanov
так, хорошо, что ты имеешь ввиду под своим серверо...

В стандартной терминологии OIDC, authn-server, issuer-токенов.

Alexandr ∨∧‾ Emelyanov
с токенами так и не понял прблемы

У тебя в стандартном флоу пользователь вводит креды в ui кейклока, получает токен, время жизни и содержимое токена определяет сам кейклок, его время жизни будет равняться жизни сессии, а сессия определяется на уровне рилма.

Ilya Starchenko
В стандартной терминологии OIDC, authn-server, iss...

я имею ввиду фактически это что? своя разработка, что-то стороннее?

Фактически это твой сервер, конечно, как ты его будешь делать - только богу известно. Я написал свой rp-клиент для го, потому что остальное мне не понравилось.

Проблема в том, что оно должно работать на уровне клиентов, а не рилмов.

Ilya Starchenko
Оно не работает.

отлично работает. у нас разные клиенты с разными настройками

Alexandr ∨∧‾ Emelyanov
почему это не может быть кк?

Потому что если в месте уже есть кк, то тебе придется использовать его, собственно, с чего я и начал, у тебя привязка идет к authn-серверу.

Ilya Starchenko
Потому что если в месте уже есть кк, то тебе приде...

у него стандартный интерфейс. берем и меняем на другой

Alexandr ∨∧‾ Emelyanov
у него стандартный интерфейс. берем и меняем на др...

Кого меняем? О чем ты? Ты не можешь просто так взять и поменять целый authn-сервер.

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Кто-нибудь знает почему SPM клонирует репо целиком? Некоторые репы просто огромные, как та же swift-syntax которая нужна для использования макросов. Сначала подумал, что это...
iMike
6
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
еще вопрос, допустим мы создадим char массив из 10 элементов и присвоим ему через сканф 10 символов. и выведем все символы. Хотел спросить последний элемент /0 будет включать...
Anthem
11
открыть папку в проводнике: 1 - ShellExecute 2 - ExecuteProcess 3 - OpenDocument что лучше выбрать?
Alexey Kulakov
12
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта