Мы столкнулись с той же проблемой. Вот что мы обнаружили:
Если вы внимательно изучите исключение, вы заметите, что основная причина возникновения исключения описана в трассировке стека.
Caused by: org.openid4java.discovery.DiscoveryException: 0x70d: Error parsing XML document
.
.
.
Caused by: org.xml.sax.SAXParseException; lineNumber: 4; columnNumber: 15; cvc-complex-type.2.4.a: Invalid content was found starting with element 'Type'. One of '{"xri://$xrd*($v*2.0)":Query, "xri://$xrd*($v*2.0)":Status, "xri://$xrd*($v*2.0)":ServerStatus, "xri://$xrd*($v*2.0)":Expires, "xri://$xrd*($v*2.0)":ProviderID, "xri://$xrd*($v*2.0)":Redirect, "xri://$xrd*($v*2.0)":Ref, "xri://$xrd*($v*2.0)":LocalID, "xri://$xrd*($v*2.0)":EquivID, "xri://$xrd*($v*2.0)":CanonicalID, "xri://$xrd*($v*2.0)":CanonicalEquivID, "xri://$xrd*($v*2.0)":Service, WC[##other:"xri://$xrd*($v*2.0)"], WC[""]}' is expected. at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException
Похоже, что простой идентификатор использует простой XRDS, формат, который был отменен в конце 2008 года. Я не уверен, что это все еще действительный ответ OpenID 2.0, но я знаю, что Дженкинс не может его проанализировать.
Если вы вручную отредактируете документ XRDS (просто удалите <Type>xri://$xrds*simple</Type>
из документа) и укажете Jenkins на расположение файла, который вы отредактировали (и сделали доступным на http-сервере), вы сможете сохранить конфигурацию без ошибок. .
Но, к сожалению, это все равно не сработает. При попытке авторизации будет отображаться следующая ошибка:
javax.servlet.ServletException: org.openid4java.consumer.ConsumerException: 0xa00: Authentication cannot continue: no discovery information provided.
Похоже, SimpleID поддерживает конечную точку для каждого пользователя, но не предоставляет единую конечную точку для нескольких пользователей - это то, что нужно Jeknins в режиме SSO.
Итог - вам придется использовать другого провайдера OpenID, чем SimpleID
person
Zvi
schedule
16.09.2012