powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Аунтефикация в микросевисных приложениях
25 сообщений из 36, страница 1 из 2
Аунтефикация в микросевисных приложениях
    #39645462
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Говорят, что для аунтефикации/авторизации в микросервисных приложениях нужно использовать SSO/oauth2.

Есть некоторое надопонимание. Вот допустим есть такое микросервисное приложение:



hello-world-service использует hello-service. Юзер может обращаться как к одному приложению, так и ко второму. Как сделать чтобы аунтефицировать пользователя черещ auth server понятно.

Непонятно как аунтефицировать микросевисы при обращении друг к другу
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645464
забыл ник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90
hello-world-service использует hello-service.

Накуа нужны такие микросервисы? Опять приходим к тому что городят их только ради того что "модно". Микросервисы не должны пересекаться, если же все же нужен обмен какой-то информацией, то это делается через messaging, и это скорее нотификации чем изменение данных
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645466
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
забыл никredwhite90hello-world-service использует hello-service.

Накуа нужны такие микросервисы? Опять приходим к тому что городят их только ради того что "модно". Микросервисы не должны пересекаться, если же все же нужен обмен какой-то информацией, то это делается через messaging, и это скорее нотификации чем изменение данных
Накуя нужны такие вопросы? Понятно, что это высосанный из пальца пример. Но RPC делать иногда нужно. Вопрос как аунтефицироваться.

P.S.

Очереди будут на следующем этапе.
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645473
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Зачем нужен Single Sing On - в общем то понятно, микросервисы тут не при чем.
Как настроить SSO и как с ним работать - наверное читать в доке по тому продукту поддерживающему SSO, который используете )))

Зачем нужно аудентификация при обмене данных между микросервисами - лично мне не понятно. Человек уже прошел контроль, запросы между микросервисами уже доверительные (в локальной/закрытой подсети). Зачем там какая-то аудентификация - лично мне не понятно.

IMHO
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645475
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90,
Опять вопросы журналста)
redwhite90Говорят
))
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645478
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
P.S.
Картинку не понял. Т.к. например в SSO от Oracle, аутентификация проходит на HTTP сервере. Т.е. сервер(служба) аутентификации работает МЕЖДУ клиентом и нашим приложением (микросервисом). Если клиент аутентификаци не прошел, до приложения (микросервиса) запрос даже доходить не должен.
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645491
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid KudryavtsevP.S.
Картинку не понял. Т.к. например в SSO от Oracle, аутентификация проходит на HTTP сервере. Т.е. сервер(служба) аутентификации работает МЕЖДУ клиентом и нашим приложением (микросервисом). Если клиент аутентификаци не прошел, до приложения (микросервиса) запрос даже доходить не должен.

Ну то есть Вы полагаете, что надо сделать какой-то фасад, который на котором будет проходить аунтефикация. Если аунтефикация пройдена, то всё доступно.
Сам этот фасад с другими микросервисами работает без авторизации? миросервисы друг с другом тоже?
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645496
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У этого перца судя по картинке все запросы аунтефицированные
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645510
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Ну то есть Вы полагаете, что надо сделать какой-то фасад, который на котором будет проходить аунтефикация.

Нет. Я полагаю, что все уже сделано до нас. Это задача SSO и Web Server'а (или Application Server'а если он берет на себя задачу обслуживания внешнего HTTP).

redwhite90Если аунтефикация пройдена, то всё доступно.

Не все. А в рамках полномочий данного пользователя.

Если ф-ции приложения разнесены по раным URL / страничкам / servlet'ам , то возможно даже задачу разграничения полномочий может взять на себя Web Server

Но скорее всего, полномочия проще проверять в прикладном коде

redwhite90Сам этот фасад с другими микросервисами работает без авторизации? миросервисы друг с другом тоже?
Наверное зависит от задачи (и архитектуры) и от степени параноидальности людей отвечающих за секьюрити

Моя точка зрения, что они МОГУТ работать без авторизации. Точнее, сам факт наличия IP из внутренней подсети - может уже быть достаточным основаниям доверять источнику запроса.

Фасад занимающийся авторизацией. в любом случае, с микросервисами будет работаь без авторизации. Иначе получается, что нужно делать фасад который будет авторизовать фасад занимающийся авторизацией и так далее, до бесконечности
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645515
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и остается определить, что такое "авторизация".

На мой взгляд, это процесс проверки user name + password и выдача user id (или некоего другого "токена"). Ее достаточно делать один раз.

НО в наиболее параноидальных случаях, возможно требуется делать на каждую операцию (пример: банкомат, попросили баланс - требуют пин-код, попросили снять деньги - опять требуют пин-код)
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645523
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я бы использовал JWT-токен.
При обращении к любому сервису проверяется его наличие, если нет - редирект на страницу аутентфикации
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645539
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79его наличие,где именно он должен лежать?
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645553
Андрей Панфилов
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123где именно он должен лежать?В запросе "клиентском": token is created during authentication (is provided in case of successful authentication) and is verified by the server before any processing. It is used by an application to allow a client to present a token representing his "identity card" (container with all information about him) to server and allow the server to verify the validity and integrity of the token in a secure way, all of this in a stateless and portable approach (portable in the way that client and server technologies can be different including also the transport channel even if HTTP is the most often used). Т.е. если мы от одного сервиса шлем запрос в другой, то этот токен нужно копировать в новый запрос.

PS. В вебсфере через LTPA все уже очень давно и прозрачно работает.
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645557
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Arm79его наличие,где именно он должен лежать?
Что значит - лежать? )))

Обращаешься к серверу авторизации, он тебе выдает токен с некоторым сроком жизни
Этот токен используешь при обращении к любому сервису (который знает, что токен вообще должен быть)

Сервис прямо из токена проверяет его валидность (напоминаю, он self-contained как обозначено на скрине выше). То есть не тратится время на сетевое взаимодействие

В общем то, не обязательно JWT, просто у них есть пара плюсов, таких как возможность хранения пользовательской информации в токене (например, набор claim) и поддержка инфраструктурой (нет необходимости самому проверять валидность токена, обращения с невалидными токенами просто не дойдут до методов с бизнес-логикой

А лежит он у клиента. В принципе, какое то хранение на сервере можно организовать для реализации черных списков и отозванных токенов, но это некритичные частности
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645565
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79,
Вы все описали sso. А микросервисы тут причём?
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645575
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Arm79его наличие,где именно он должен лежать?

IMHO Он должен быть в REST запросе, который приходит на микросервис

Как я понимаю, после SSO токен в том или ином виде хранится в куках (или другом механизме связанном с сессий) клиента. Но опять таки, это лучше читать в доках конкретного SSO.

p.s. специально не углябляюсь в детали реализации, т.к. это зависит от используемого софта + я с этм детально не работал. В настройке SSO от Oracle (SSO, Weblogic, Oracle ADF, Oracle BI) участвовал.
К примеру подозреваю, что ни о каких JWT-токенах SSO от Oracle не знает )))
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645576
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123Arm79,
Вы все описали sso. А микросервисы тут причём?

Какой то непонятный вопрос. Что значит - причем? А что, не причем?

Мне казалось очевидным, что в распределенной среде обращения к разным кускам логики должны быть авторизированы. И правильно использовать сначала в одном месте аутентификацию, получить авторизационный токен, и далее ко всем сервисам обращаться с этим токеном. Так достигается не только авторизация, но и снижаются накладные расходы на сетевые взаимодействия.

У вас иное мнение?
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645579
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Arm79....к разным кускам логики должны быть авторизированы.
...
У вас иное мнение?
В исходном вопросе автора, смешаны "люди и кони"
1. Обращение ОТ ПОЛЬЗОВАТЕЛЕЙ к сервисам - да, должны, беспорно
2. Общение МЕЖДУ СИСТЕМНЫМИ сервисами - если общение в защищенной среде (внутренняя IP сеть сервеной), то не факт. Большенство обращений все равно должны быть в режиме Superuser (видеть все данные).

IMHO & AFAIK
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645580
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Arm79Petro123Arm79,
Вы все описали sso. А микросервисы тут причём?

Какой то непонятный вопрос. Что значит - причем? А что, не причем?



Это просто тролль

авторКак я понимаю, после SSO токен в том или ином виде хранится в куках (или другом механизме связанном с сессий) клиента. Но опять таки, это лучше читать в доках конкретного SSO.


Вообще токены стараются не засветить. Они обычно на сервере лежат и в браузер не попадают. SSO токен это oauth2 токен?
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645583
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Андрей ПанфиловPetro123где именно он должен лежать?В запросе "клиентском": token is created during authentication (is provided in case of successful authentication) and is verified by the server before any processing. It is used by an application to allow a client to present a token representing his "identity card" (container with all information about him) to server and allow the server to verify the validity and integrity of the token in a secure way, all of this in a stateless and portable approach (portable in the way that client and server technologies can be different including also the transport channel even if HTTP is the most often used). Т.е. если мы от одного сервиса шлем запрос в другой, то этот токен нужно копировать в новый запрос.

PS. В вебсфере через LTPA все уже очень давно и прозрачно работает.

А как бы это сделать в spring cloud?


https://github.com/gredwhite/spring-cloud
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645585
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Leonid KudryavtsevArm79....к разным кускам логики должны быть авторизированы.
...
У вас иное мнение?
В исходном вопросе автора, смешаны "люди и кони"
1. Обращение ОТ ПОЛЬЗОВАТЕЛЕЙ к сервисам - да, должны, беспорно
2. Общение МЕЖДУ СИСТЕМНЫМИ сервисами - если общение в защищенной среде (внутренняя IP сеть сервеной), то не факт. Большенство обращений все равно должны быть в режиме Superuser (видеть все данные).

IMHO & AFAIK
У нас так и есть. Есть "интерфейсный" сервис - дирижер, который авторизирует клиентские запросы. А взаимодействия "внутри" среды по умолчанию доверенные. Правда у нас не микросервисы, а обычные нормальные сервисы ))))) Такое поведение - не догма, просто у нас доступ к ресурсам равнозначный для всех пользователей.
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645587
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Вообще токены стараются не засветить. Они обычно на сервере лежат и в браузер не попадают. SSO токен это oauth2 токен?
Не готов говорить без ссылок на конкретную доку/технологию/софт/архитектуру/требования

странно, как его можно не светить.

Я вошел в одно приложение, аудентифицировался, мне выдали токен
Теперь я хочу войти в другое приложение, вообще НЕ связанное с первым. Аудентифицироваться не хочу, т.к. у нас SSO.

Явно, что для данного сценария, клиенту нужно знать свой токен. И никакие прокси тут не спасут, т.к. SSO оно не только для Web, но и для обычных приложений, м даже MS DOS приложений )))
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645593
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsevredwhite90Вообще токены стараются не засветить. Они обычно на сервере лежат и в браузер не попадают. SSO токен это oauth2 токен?
Не готов говорить без ссылок на конкретную доку/технологию/софт/архитектуру/требования

странно, как его можно не светить.

Я вошел в одно приложение, аудентифицировался, мне выдали токен
Теперь я хочу войти в другое приложение, вообще НЕ связанное с первым. Аудентифицироваться не хочу, т.к. у нас SSO.

Явно, что для данного сценария, клиенту нужно знать свой токен. И никакие прокси тут не спасут, т.к. SSO оно не только для Web, но и для обычных приложений, м даже MS DOS приложений )))

Токен выдали приложение, а не браузеру.

https://tools.ietf.org/html/rfc6749#section-4.1
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645597
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
в ссылке выше Client- это клиентское приложение
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645599
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Это просто тролльтролль и журналист не пишущий кода это древнейшие профессии))
...
Рейтинг: 0 / 0
25 сообщений из 36, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Аунтефикация в микросевисных приложениях
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]