powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Аунтефикация в микросевисных приложениях
36 сообщений из 36, показаны все 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
Аунтефикация в микросевисных приложениях
    #39645600
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Petro123redwhite90Это просто тролльтролль и журналист не пишущий кода это древнейшие профессии))

Вам подойдёт более общеизвестная древнейшая профессия. Будьте любезны - изыдите.
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645604
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90А как бы это сделать в spring cloud?быстрее садись писать.
Правда ты сказал что следующий вопрос на подходе, про шину сообщений.
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645619
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90 https://tools.ietf.org/html/rfc6749#section-4.1
ну я примерно ровно это и говорил
по картинке токен уходит к клиенту

что является клиентом, это уже другой вопрос (приложение, браузер и java script, или вообще операционная система на компьютере)
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645622
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsevredwhite90 https://tools.ietf.org/html/rfc6749#section-4.1
ну я примерно ровно это и говорил
по картинке токен уходит к клиенту

что является клиентом, это уже другой вопрос (приложение, браузер и java script, или вообще операционная система на компьютере)

Нет, Вы не правы

https://habr.com/company/mailru/blog/115163/



в любом случае, как Вы видите вариант не светить токен существует. В этом же у Вас были сомнения?
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645642
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90в любом случае, как Вы видите вариант не светить токен существует. В этом же у Вас были сомнения?
вдумываться надо и читать с самого начала,
я на такое сейчас не готов
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645657
Arm79
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Leonid Kudryavtsevпропущено...

ну я примерно ровно это и говорил
по картинке токен уходит к клиенту

что является клиентом, это уже другой вопрос (приложение, браузер и java script, или вообще операционная система на компьютере)

Нет, Вы не правы

https://habr.com/company/mailru/blog/115163/



в любом случае, как Вы видите вариант не светить токен существует. В этом же у Вас были сомнения?

Что такое "не светить" токен? А как тогда проверять то его? Токен - это для авторизации доступа к ресурсам. Его защита от перехвата осуществляется на клиенте и, при передаче, организацией защищенного канала, например https
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645703
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Arm79redwhite90пропущено...


Нет, Вы не правы

https://habr.com/company/mailru/blog/115163/



в любом случае, как Вы видите вариант не светить токен существует. В этом же у Вас были сомнения?

Что такое "не светить" токен? А как тогда проверять то его? Токен - это для авторизации доступа к ресурсам. Его защита от перехвата осуществляется на клиенте и, при передаче, организацией защищенного канала, например https

Не светить в браузере имелось ввиду.

Есть юзер, есть клиент, есть auth сервер, есть ресурс сервер.

Так вот если взять, что юзер работает с клиентом(само по себе нормальное бэкенд приложение) через браузер, то браузеру токен знать вообще не обязательно. к ресурс серверу обращается клиент
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645711
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
redwhite90Есть юзер, есть клиент, есть auth сервер, есть ресурс сервер.

Если вспомнить о теме топика:

кто в данном случае "микросервис" ?
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645714
Leonid Kudryavtsev
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и если Вы описываете архитектуру нарисованную на картинке
https://tools.ietf.org/html/rfc6749#section-4.1
, то на картинке не былло "user'а" и был мало мне понятный "user agent"

p.s. но сам контекст данной картинке мне мало понятен, нужно с самого начала читать, о чем идет речь. Чем больше на картинку смотрю, тем меньше понимаю. Нафига user agent вообще полез к resource owner'у (стрелка с буквой B) - что-то вообще не врубаюсь.
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645721
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsevredwhite90Есть юзер, есть клиент, есть auth сервер, есть ресурс сервер.

Если вспомнить о теме топика:

кто в данном случае "микросервис" ?

клиент
...
Рейтинг: 0 / 0
Аунтефикация в микросевисных приложениях
    #39645723
redwhite90
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Leonid Kudryavtsevну и если Вы описываете архитектуру нарисованную на картинке
https://tools.ietf.org/html/rfc6749#section-4.1
, то на картинке не былло "user'а" и был мало мне понятный "user agent"

p.s. но сам контекст данной картинке мне мало понятен, нужно с самого начала читать, о чем идет речь. Чем больше на картинку смотрю, тем меньше понимаю. Нафига user agent вообще полез к resource owner'у (стрелка с буквой B) - что-то вообще не врубаюсь.

К сожалению в двух словах не рассказать. Надо разбираться с мат. частью.

User-agent это браузер, он полез к ресурс оунер потому, что клиентское приложение послало его туда посредство редиректа. Это происходит, чтобы юзер вводил логин и пароль на том сайте, к которому они относятся(например facebook)
...
Рейтинг: 0 / 0
36 сообщений из 36, показаны все 2 страниц
Форумы / Java [игнор отключен] [закрыт для гостей] / Аунтефикация в микросевисных приложениях
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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