我正在开发一个使用嵌入式 Jetty 的纯 Java Web 应用程序,我想集成一个 Shibboleth 登录。为此,我正在关注 switch.ch's guide for Shibboleth Service Provider Deployment ,其中指出:
我的问题是,有没有一种方法可以在不使用 Apache Web 服务器或运行 shibd 的 IIS 的情况下将 Shibboleth SSO 集成到我的 Java Web 应用程序中?也许有人以前做过这个并且可以提供示例 Servlets/Filters 或类似的东西?
我不希望在应用程序前面有一个仅用于 Shibboleth 的 Web 服务器,因为它会使安装复杂化。目前,安装只需两个步骤:提取工件并运行启动脚本,如果我能保持这样,我将不胜感激。
最佳答案
Shibboleth Service Provider 负责处理许多复杂的用例,例如 key 轮换、元数据刷新和属性重新映射。如果您有一个非常简单的用例,您需要从一个很少更改的 Shibboleth 身份提供程序验证用户,您可以考虑直接在您的 Java 代码中验证 SAML 2.0 断言。
如果您已经使用 spring-security,您可能应该从查看 spring-security-saml 项目开始:
http://projects.spring.io/spring-security-saml/
或者,您可以从 OpenSAML ( https://wiki.shibboleth.net/confluence/display/OpenSAML/Home ) 等低级库开始,也可以从 LastPass Java SAML SDK ( https://github.com/lastpass/saml-sdk-java ) 等高级库开始。
关于java - 我可以在不使用 Apache 和 shibd 的情况下将 Shibboleth SSO 集成到我的 Java Webapp 中吗?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/30887617/