【问题标题】:SSO implementation using Shibboleth with Google App Engine java使用 Shibboleth 和 Google App Engine java 的 SSO 实现
【发布时间】:2014-06-09 09:19:56
【问题描述】:

我正在 Google App Engine 上用 java 开发一个应用程序。在这个应用程序中,我必须使用 SAML2 来实现 SSO。我的谷歌应用引擎应用程序将充当服务提供者,而身份提供者将是一个单独的服务器。我只需要写 SSO 的 SP 端。我是 SAML 的新手,在 SAML 上做了很多谷歌搜索,并了解了 SSO 中用户身份验证的基本流程。我发现 opensaml 库可用于处理 Idp 和 SP 之间的 SAML 消息。我还发现了 Shibboleth,它是 opensaml 库的实现。我对选择 opensaml 或 Shibboleth 的决定感到非常困惑。谁能建议我选择 opensaml 或 Shibboleth,如果有人在 Google 应用引擎中找到任何关于 SSO 的 SP 实现的教程,他也可以分享。

【问题讨论】:

    标签: java google-app-engine saml-2.0 shibboleth


    【解决方案1】:

    您可以将Spring SAML Extension(基于 OpenSAML 构建的产品)嵌入到您的应用程序中。它将使您能够充当 SAML 2.0 服务提供商。

    您可以在 http://saml-federation.appspot.com/ 上查看此类方法的工作演示,其中显示了连接到 SSO Circle IDP 的 Spring SAML 示例应用程序。

    Shibboleth 不提供可嵌入应用程序的 SAML SP 组件。 Shibboleth SP 充当 Apache 或 IIS Web 服务器的插件,不能与 Google App Engine 一起使用。

    您还可以将 Spring SAML 视为 SAML 2.0 WebSSO 实现的示例,以防您想自己编写它。 Latest documentation 在 Spring 存储库中可用,来源在 GitHub

    【讨论】:

    • 我在我的 GAE 应用程序中使用 struts2 框架。我是否必须为 spring SAML 扩展使用 spring 框架,或者我可以使用 struts2 嵌入它?
    • 这需要一些努力,但可以在没有 Spring 的情况下使用扩展。它本质上只是一组使用 Spring 初始化的 POJO,并且可以手动完成初始化。这种方法目前在任何地方都没有记录。一种更简单的方法是将 Spring 与 Struts2 一起使用。您还有另一种选择是部署一个应用程序以获得 SAML 2 支持(例如,基于 Spring SAML),单独部署您的应用程序,并让这两个传递有关经过身份验证的用户的信息,例如使用共享 cookie 或令牌。
    猜你喜欢
    • 2015-03-17
    • 1970-01-01
    • 1970-01-01
    • 2015-07-22
    • 1970-01-01
    • 1970-01-01
    • 2014-05-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多