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

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

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

24 ответов

58 просмотров

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

Зависит от проекта, если у тебя 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-сервер.

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

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

30500 за редактор? )
Владимир
47
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
вы делали что-то подобное и как? может есть либы готовые? увидел картинку нокода, где всё линиями соединено и стало интересно попробовать то же в ddl на lua сделать. решил с ч...
Victor
8
Подскажите пожалуйста, как в CustomDrawCell(Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean); получить наз...
A Z
7
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
1
Он в одиночку это дело запилил или была какая-то команда?
Aquinary
12
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Всем привет, нужна как никогда, нужна помощь с IO в загрузчике. Пишу в code16 после установки сегментных регистров, пишу вывод символа. Пробовал 2 варианта: # 1 mov $0x0E, %a...
Shadow Akira
14
Карта сайта