Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Java Новый топик    Ответить
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
 Передаваемые данные при реализации SSO  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1115
Здравствуйте всем!
собственно сабж как это грамотно реализовать? т.е. клиенту А передавать одни данные пользователя, а клиенту В другие

на текущий момент реализована таблица где имеется к какому скоупу какие фильды разрешены и дальше с помощью рефлексии формируется передаваемые данные...
21 май 21, 09:14    [22325114]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
Stanislav Bashkyrtsev
Member

Откуда: СПб
Сообщений: 137
Че-т я не понял.. Это вопрос про SSO или про данные, которые отдаются пользователю? SSO (Single Sign On) - это о том чтоб залогинится один раз, а не в каждом приложении.
21 май 21, 09:42    [22325125]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1115
Stanislav Bashkyrtsev,

вопрос про данных, у меня есть клиенты (удаленные системы) и я должен дать информацию о пользователе только у каждого клиента (удаленной системы) свои скоупы скажем одному должен дать ФИО и год рождения другому логин
21 май 21, 09:57    [22325132]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
Музаффар,
Не надо делать на коленке. Есть стандарты, либы, серверы для sso
21 май 21, 10:27    [22325145]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1115
PetroNotC Sharp,

поделитесь если можно
21 май 21, 10:27    [22325146]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1115
один из вариантов думаю какой ни будь ABAC?
21 май 21, 10:28    [22325147]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
Stanislav Bashkyrtsev
Member

Откуда: СПб
Сообщений: 137
Музаффар, т.е. к SSO это не имеет отношения.

Для таких ситуаций есть протоколы типа OAuth2 - пользователь, когда логинится в систему, может указать какие права он желает дать этой системе (Client) на свои данные в другой из системы (Resource Server). Там это как раз scope и называется. Но это сам пользователь выдает права на свои ресурсы. Это твой случай?
21 май 21, 10:39    [22325153]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
Музаффар
PetroNotC Sharp,

поделитесь если можно
как делится если ты вообще не приступал и не читал
Картинка с другого сайта.
21 май 21, 10:45    [22325155]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1115
Stanislav Bashkyrtsev,

не совсем, предварительно как работает ссо (в моем случае) : после обмена токенами и после авторизации пользователя сервер ссо отправляет пользовательские данные в сервер клиента.
так вот теперь каждому удаленному клиенту я должен передать только тех аттрибутов которые указаны в договоре (в моем случае скоуп) и сейчас у меня реализован как есть клиент к нему свой скоуп где есть перечень аттрибутов и которые полностью совпадает с фильдами/аттрибутами класса. заполучив все возможные аттрибуты из базы я через ревлексии создаю новый объект для передачи...
конечно это рабочий вариант но возможно это есть более правильные решения, вот и спрашиваю
21 май 21, 10:45    [22325156]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
PetroNotC Sharp,
Identity пров это отдельная тачка с отдельным сервером.
Есть такая?
21 май 21, 10:47    [22325158]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1115
PetroNotC Sharp,
все есть и ресурс сервер и ссо сервер
дело в том что вопрос не в ссо и не в реализации ссо а при предоставлении пользовательских данных
21 май 21, 11:02    [22325165]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
Stanislav Bashkyrtsev
Member

Откуда: СПб
Сообщений: 137
Музаффар
после авторизации пользователя
После аутентификации.
Музаффар
сервер ссо отправляет пользовательские данные в сервер клиента.
Сервер ссо - это в смысле Auth Server? А как он отправляет данные? Может клиент запрашивает данные у Auth Server'a? Тот протокол о котором ты говоришь - у него есть название? Или это самопал?
Музаффар
так вот теперь каждому удаленному клиенту я должен передать только тех аттрибутов которые указаны в договоре (в моем случае скоуп) и сейчас у меня реализован как есть клиент к нему свой скоуп где есть перечень аттрибутов и которые полностью совпадает с фильдами/аттрибутами класса. заполучив все возможные аттрибуты из базы я через ревлексии создаю новый объект для передачи...
Ну звучит как норм схема. А как этот "договор" создается? Админ какой-то настраивает? Пользователь? В какой момент это настраивается?
21 май 21, 11:05    [22325170]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
Музаффар
PetroNotC Sharp,
все есть и ресурс сервер и ссо сервер
дело в том что вопрос не в ссо и не в реализации ссо а при предоставлении пользовательских данных

Тогда на любой запрос к своему серверу на F5 ты в фильтре за микросек запрашиваешь сервер sso. И он шлет тебе ответ зашифрованный все что тебе надо.
В чем вопрос то?
21 май 21, 13:35    [22325259]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
Мы делали с сервером Shbboleth и протокол SAML
21 май 21, 13:37    [22325260]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
Нужно SSO по протоколу SAML. Кто делал?
21 май 21, 13:39    [22325265]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1115
PetroNotC Sharp,

вроде как вопрос задал не правильный...

и мел ввиду вот что:
есть дата юзера которого надо передать удаленному сервису, при этом для каждого удаленного сервиса свои фильды/передаваемые данные (грубо говоря шаблон данных)

скажем
шаблон1 для клиента1
{"id":"", "name":""}


шаблон2 для клиента2
{"name":"", "birthDate":""}


есть данные пользователя который авторизовался
Obj obj = new Obj(1, "name", 2021-05-21);


так вот для клиента1 должен быть передан вот такой объект данных {"id":"1", "name":"name"}
а для второго клиента {"name":"name", "birthDate":"2021-05-21"}
21 май 21, 15:29    [22325331]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
Музаффар,
Я даже картинку дал. Какой цифрой обозначен на ней твой вопрос?
21 май 21, 17:25    [22325422]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
Музаффар,

До шага 4 мы не имели никакой инфы о юзвере. Вся инфа на Identity server.
И только после ввода пароля на шаге 3 он нам давал на шаге 4 всю инфу о нем.
21 май 21, 17:29    [22325424]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
Музаффар,
В моем случае, вся инфа или поля данных что возвращал сервер sso загодя гвоздями забивался в xml формате.
То есть это контракт для нашего протокола.
Если я понял твой вопрос.
21 май 21, 17:52    [22325439]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1115
PetroNotC Sharp
Музаффар,
Я даже картинку дал. Какой цифрой обозначен на ней твой вопрос?

на 4ом

автор
До шага 4 мы не имели никакой инфы о юзвере. Вся инфа на Identity server.
И только после ввода пароля на шаге 3 он нам давал на шаге 4 всю инфу о нем.

есть такое!

автор
В моем случае, вся инфа или поля данных что возвращал сервер sso загодя гвоздями забивался в xml формате.
То есть это контракт для нашего протокола.
Если я понял твой вопрос.

согласен

при этом передается вся инфа верно? а мне нужна дать только те данные которые разрешены.

что у меня сейчас работает: перед передачей клиентскому сервису инфы о пользователе я извлекаю из базы все фильды которые доступны именно этому клиенту далее сформированную где есть все инфа через рефлекшн прохожу и из нужных формирую объект json и это передаю

конечно это рабочий вариант, но у меня сейчас имеется свище 100 фильдов и пока 100 клиентских сервисов которые каждым днем растут...
и хотел бы предоставить данные по шаблону xml/json
З.Ы. опять таки передается не вся инфа о пользователе
21 май 21, 19:54    [22325480]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
Музаффар,
>при этом передается вся инфа верно? а мне нужна дать только те данные которые разрешены.
=переведи.
У нас передается ФИО и роль ака должность.
И получает данные АДМИН.
Код работает под админом. Ну или хозяином томката.
То есть разрешены кому?
21 май 21, 21:27    [22325523]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
Музаффар,
100 сервисов это что?
Опять микросервисы что ль?))))
Как можно 100 разных данных об человеке запрашивать?
))))
21 май 21, 21:33    [22325527]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1115
PetroNotC Sharp,

Все верно но если подумать более глобально?, вроде как у гугла тоже есть такой механизм, скажем я хочу реализовать вход пользователя на свой свой сайт через гугл. После успешной авторизации что мне предоставит гугл о пользователе? Наверно почту, возможно фио, телефонный номер и т.д. И так всем эти инфы предоставляются со стороны гугла, верно?
Так вот если сказал правильно то в моем случае тоже почти так, только когда я говорил 100 сервисов это 100 удаленных клиентов/сайтов/порталов которым я предоставляю пользовательские данные, иными словами у меня только ссо сервер и сервер ресурсов/идентификации.
Так вот когда новый сервис хотят подключить согласовываются и предлставляемые данные о пользователе. Таким образом одному нужна будет фио другому фио+должность третьему адрес проживание и т.д.
Смог объяснить?
22 май 21, 05:22    [22325613]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
PetroNotC Sharp
Member

Откуда:
Сообщений: 8254
Музаффар,
Смог. Но верится с трудом что ты гугль)
Он действительно спрашивает ЮЗВЕРЯ отдать ли САЙТУ ХХХХ инфу о тебе.
Если сервер Identity твой, то наверно так можно.
- нужно изучить либу или сервер identity
- попробовать по простому добавить в Его фррму с паролем галки что отдавать.
22 май 21, 12:48    [22325664]     Ответить | Цитировать Сообщить модератору
 Re: Передаваемые данные при реализации SSO  [new]
Музаффар
Member

Откуда: UZB
Сообщений: 1115
PetroNotC Sharp,

у меня и ссо сервер и сервер ресурсов свои где несколько тысяч пользовательских данных при том каждым днем растёт,
на текущий день как я уже говорил все возможные аттрибуты (пользовательских) а их более 100
и около 100 подключенных удаленных сервисов, для каждого я на основе секретКея даю тот или иной аттрибут пользователя
для этого с базы извлекаю всех аттрибутов (соответствуют с аттрибутами класса) дальше по рефлексии прохожу и где совпадают аттрибуты тот и принадлежит передаче инече не передается

опять таки это рабочий вариант и на ура работает
но хочется что то другое если возможно а именно
у клиента хранить некий шаблон скажем
<first_name>%</first_name>
<last_name>%</lastname>
<birth_date>%</birth_date>

и т.д.
либо
{
"firstName":"%",
"lastName":"%",
"birthDate":"%"
}

далее извлекаю все данные пользователя из сервера ресурсов формирую по шаблону конкретного клиента то что показал чуть выше и заполнив передаю уже клиенту именно таком формате как был в шаблоне
22 май 21, 13:02    [22325668]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: [1] 2 3   вперед  Ctrl      все
Все форумы / Java Ответить