powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Java [игнор отключен] [закрыт для гостей] / Нужно SSO по протоколу SAML. Кто делал?
25 сообщений из 42, страница 1 из 2
Нужно SSO по протоколу SAML. Кто делал?
    #39063797
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Т.е. нужна авторизация напр. обычного приложения (JSP\Servlet) с крупным заказчиком.
Я так понял, что на первом этапе при входе в наше приложение появляется окно авторизации по примеру Одноклассников.
Пока нарыл такие туторы:
http://habrahabr.ru/company/eastbanctech/blog/193662/
(мутновато и много шагов)))
https://wiki.eclipse.org/SAML2_IdP_Development_1.1
(связь с иклипсом, что желательно)
но выскакивает ошибка
Код: java
1.
2.
3.
4.
5.
6.
Exception in thread "main" org.apache.bcel.verifier.exc.AssertionViolatedException: 
FOUND:
	INTERNAL ERROR: Oops!
Exiting!!

	at org.apache.bcel.verifier.exc.AssertionViolatedException.main(AssertionViolatedException.java:102)


что за ошибка?
...
и есть вроде вариант работать с:
idP (identity prov) - Shibboleth реализующую SAML 2.0
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39063875
Фотография Blazkowicz
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Какая-то странная точка входа.
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
	 /** 
	 * DO NOT USE. It's for experimental testing during development only.
	 */
	public static void main(String[] args){
		AssertionViolatedException ave = new AssertionViolatedException("Oops!");
		ave.extendMessage("\nFOUND:\n\t","\nExiting!!\n");
		throw ave;
	}


Как запускаешь?
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39063913
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
BlazkowiczКак запускаешь?
вторая ссылка, там проект клиента и сервера.
Проект клиента скачал и запустил в иклипсе на томкат
Счас ещё раз проверю и отпишу.
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39064022
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень сильно зависит от Identity provider'а (не поддерживают полностью стандарт SAML2, нужен доступ к логам для разработки). У меня был ADFS. Использовал библиотеку sibotteh saml 2.
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39064054
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892Очень сильно зависит от Identity provider'а (не поддерживают полностью стандарт SAML2, нужен доступ к логам для разработки). У меня был ADFS. Использовал библиотеку sibotteh saml 2.
пров большой и серьёзный. Счас уточнил, нужен именно SAML 2.
Полностью или нет покрыт неважно.
Главное чтобы у нас Hello World работал)).
Если есть ссылки \ куски кода - буду благодарен.
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39064088
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Там сначала надо сгенерировать ключи (для подписи(ообязательно), для шифрования - по желанию), затем сгенерить сервис провайдер metadata xml который содержит ваши открытые ключи и URL куда редиректить Idp будет, затем импортнуть в Idp эту штуку, затем в Idp настроить инфу кот он будет передавать Вам вместе с сообщением "о заходе пользователя" (напр. username).
Вообще за неделю можно раскурить тему))

В приложении минимально возможный sp metadata xml который импортировался в Microsoft AD Federation Services.
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39064204
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892,
спс.
Выше ссылки и методы что я давал не в том направлении что вы делали?
Пока тыкаюсь в простейшем примере чтобы запустить hello world из одной строки в JSP и редиректом на проверку по SSO.
Копаю пример-проект с конфигом в web.xml (/oiosaml.java-demo-11330)
oiosaml.configuration.FileConfiguration - oiosaml-j.name was not defined in web.xml
=
Код: java
1.
<env-entry-value>d:\oiosaml-config</env-entry-value>
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39064235
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123no56892,
спс.
Выше ссылки и методы что я давал не в том направлении что вы делали?
Пока тыкаюсь в простейшем примере чтобы запустить hello world из одной строки в JSP и редиректом на проверку по SSO.
Копаю пример-проект с конфигом в web.xml (/oiosaml.java-demo-11330)
oiosaml.configuration.FileConfiguration - oiosaml-j.name was not defined in web.xml
=
Код: java
1.
<env-entry-value>d:\oiosaml-config</env-entry-value>



Я сейчас на jBoss делаю SSO с SAML2.
Там используется picketlink

Вот примеры .

Вот это документация от jBoss .

Если работать в рамках одного домена, то танцы с ключами не нужны.
Смотреть в примерах: picketlink-federation-saml-idp-basic - для идентификации
И picketlink-federation-saml-sp-redirect-basic - для доступа.

Там куча примеров.
Но эти два показывают как сделать приложение для логина и как им воспользоваться из другого приложения.
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39064426
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,
спс. Примеров много).
Не могу придумать как интегрировать с APEX оракля.
Он не позволяет у себя писать код гна Java. Только PL процедуры сервера.
Либо как бы из хранимки http.p() во внешний инет запрос типа AJAX.
Либо Java обёрнутая хранимкой.
Это всё не то.. и библиотеки там не подключить.
..
- Значит либо своё мин приложение получив токен пишет в куку и редирект на APEX
- Значит либо своё мин приложение получив токен пишет в БД и редирект на APEX
- Значит либо своё мин приложение как прокси постоянно висит перед APEX...
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39064593
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Для начала я бы посоветовал выяснить какой Idp будет использоваться у ваших партнеров, и получить доступ к его логам (если не дадут, то поднять у себя локально на виртуалке). Про то как сам протокол работает хорошо написано в вики.
А вот более детально (в тч формат сообщений):
http://saml.xml.org/saml-specifications

Для логина/логаута нужно не много сообщений.
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39064626
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892,
Может я не понял, но до разбора логов и парсинга xml мы вроде не опускаемся?
Максимум должен быть jar ник с API и получаем ФИО с Одноклассников.
Так?
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39064639
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А у вас Одноклассники разве? Вы же говорили про SAML и Idp провайдера?
Ну парсить xml не потребуется если Вы будете использовать Shibboleth библиотеку. Она как бы для двух частей - в SAML есть идентити провайдер (это тот у кого пользователи хранятся) "сервер" и сервис провайдер (это ваш сайт, на который предыдущим пользователям хотите дать доступ) "клиент". Библиотека Shibboleth она и для того и для другого, у Вас насколько я понял идентити провайдер уже есть, тоесть Вам надо написать к нему "клиент". Если не использовать эту библиотеку - тогда вручную парсить/составлять xml. Если ваш идентити провайдер предлставляет jar с апи - тогда вообще в чем проблема? (я просто не знаю бывает ли такое, по крайней мере я делал "чисто по протоколу" обмен). Логи нужны, т.к. Вам не будут присылаться ошибки (просто ничего не будет присылаться) и так оч сложно понять в чем дело - чисто для этих целей.
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39064647
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892,
Одн-ки пример.
IdP в 1 посте.
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39064650
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892,
Что делать если там где польз-ли, напр.
Одн... их слишком много.
Заводить своих?
Или заводить не всех а как бы по приглашению.
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39064652
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Хм...
К примеру фирма ГАИ хочет прогу с водителями которые стучат на других водителей.
Из Од-ков берём ФИО чтобы не врали.
Тогда idP будет у меня и он общается с Одноклассниками.
Так? 3 стороны а не 2.
Так?
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39064660
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вы это сервис провайдер, Idp провайдер - уже есть и работает у вашего заказчика, все пользователи у него в базе. Если Вы про то, как же Вам узнать имя пользователя и др инфу если у вас их нет, то какие именно данные Вам передавать настраивается на стороне Idp провайдера, и отсылаются вам при успешном логине пользователя.

пример зашел кто-то к вам на сайт, вы смотрите сессию там нет пользователя - формируете SAML AuthRequest, подписываете шифруете, и шлете клиенту Location redirect: idpprovider.net/saml/somthingelse?SAMLRequest=<base64 вашего AuthRequest>, далее клиент переходит на сайт Idp провайдера и если он там не залогинен то логинится, если уже залогинен - то Idp посылает клиенту Location redirect: yoursite.com/samlLoginResponse?SAMLResponse=<base64 SamlResponse на Вам SamlRequest> Вы его дешифруете, проверяете подпись, и получаете примерно:
Код: xml
1.
2.
3.
4.
5.
6.
7.
8.
<Assertion>
 <Status>success</Status>
</Assertion>
<Attributes>
<Username>John</Username>
<Email>lalalal@rere<;/Email>
и т.д.
</Attributes>



Как то так (естественно там можно и через POST и артифакт и т.д. это все уже детали)
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39064679
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892Вы это сервис провайдер, Idp провайдер - уже есть и работает у вашего заказчика, все пользователи у него в базе.
вот это применительно к аналогу выше с ГАИ как сказать?
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39064685
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
mad_nazgul,
у меня пров рекомендует шибболе. А твоё на томкат идёт? бесплатен? Уж очень хороши примеры у тебя).
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39064795
mad_nazgul
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123mad_nazgul,
у меня пров рекомендует шибболе. А твоё на томкат идёт? бесплатен? Уж очень хороши примеры у тебя).

Точно не скажу. Но по документации вроде бы можно прикрутить к tomcat.
Ну как минимум свободен. ;-)
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39066377
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
половина работ сделана с этими либами
commons-codec-commons-codec.jar
commons-collections-commons-collections.jar
commons-configuration-commons-configuration.jar
commons-digester-commons-digester.jar
commons-fileupload-commons-fileupload.jar
commons-httpclient-commons-httpclient.jar
commons-io-commons-io.jar
commons-lang-commons-lang.jar
commons-logging-commons-logging.jar
esapi
joda-time-joda-time.jar
log4j-log4j.jar
not-yet-commons-ssl-0.3.9.jar
oiosaml.java
opensaml-2.5.1.jar
openws-1.4.2.jar
org.apache.santuario-xmlsec.jar
org.apache.velocity-velocity.jar
org.bouncycastle-bcprov-jdk15.jar
org.slf4j-slf4j-api.jar
org.slf4j-slf4j-log4j12.jar
xalan-serializer.jar
xalan-xalan.jar
xerces-xercesImpl.jar
xml-resolver-xml-resolver.jar
xmltooling-1.3.2.jar

ответка от сервера заказчика idP получаем.
копаем дальше))
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39066508
no56892
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
да там транзитив все небойсь)
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39066531
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
no56892,
не понял твой сленг)).
Что есть для перехвата и отладки?
Что-то на лету перекодирует из base64? Или сниффер? Или обычный FireBug в фоксе? Он показывает сетевые get\post.
Я так понял, что удобнее всего увидеть пересылаемый XML?
Т.к. у меня окно idP не с логин формой, а с его ошибкой, то согласен что нужны логи.
Они будут не скоро.
Шибболе поднять? Почему на виртуалке? На одной машине томкат и он будет работать?
Что поднять для простейшего idP? Хотя ты исп-л ADFS и сравнивать сложно...
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39066537
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39067034
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Petro123 https://addons.mozilla.org/en-US/firefox/addon/saml-tracer/
завтра опробуем
замечательная штука. Кажет чистый SAML запрос.
....
Что можно сделать или оттрассировать по этой ошибке?
...
Рейтинг: 0 / 0
Нужно SSO по протоколу SAML. Кто делал?
    #39067092
Фотография Petro123
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
как сделать чтобы idP возвращал не эту картинку, а POST с таким ответом - стектрейсом
Код: java
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
    <p>Stacktrace:</p>
    <pre>
dk.itst.oiosaml.error.InvalidCertificateException: Certificate for aai.rzg.mpg.de/idp/rzg/shibboleth
 expired at Tue Jun 17 15:58:12 CEST 2014, current: Fri Oct 02 12:29:14 CEST 2015
    at dk.itst.oiosaml.sp.metadata.IdpMetadata$Metadata.getCertificate(IdpMetadata.java:286)  
    at dk.itst.oiosaml.sp.service.SAMLAssertionConsumerHandler.handleSAMLResponse(SAMLAssertionConsumerHandler
.java:131)  
    at dk.itst.oiosaml.sp.service.SAMLAssertionConsumerHandler.handlePost(SAMLAssertionConsumerHandler
.java:92)  
    at dk.itst.oiosaml.sp.service.DispatcherServlet.doPost(DispatcherServlet.java:151)  
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:637)  
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:717)  
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:290
)  
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)  
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:233)  
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191)  
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127)  
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:102)  
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109)  
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:298)  
    at org.apache.jk.server.JkCoyoteHandler.invoke(JkCoyoteHandler.java:190)  
    at org.apache.jk.common.HandlerRequest.invoke(HandlerRequest.java:291)  
    at org.apache.jk.common.ChannelSocket.invoke(ChannelSocket.java:769)  
    at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:698)  
    at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:891)  
    at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:690)  
    at java.lang.Thread.run(Thread.java:619)  
      </pre>

...
Рейтинг: 0 / 0
25 сообщений из 42, страница 1 из 2
Форумы / Java [игнор отключен] [закрыт для гостей] / Нужно SSO по протоколу SAML. Кто делал?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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