【问题标题】:Write a SSO application on GAE在 GAE 上编写 SSO 应用程序
【发布时间】:2011-04-26 19:55:12
【问题描述】:

我正在寻找实现 SSO(单点登录)应用程序的解决方案,该应用程序需要在 python 中并在 GAE (Google App Engine) 上运行。此应用程序需要使用SAML 协议实现,因为 Google Apps 提供基于 SAML 的单点登录。

在我的情况下,我无法使用 OpenId,因为允许来自外部 ID 的访问,并且我需要我的客户只能使用 Google Apps 帐户登录我的应用程序,然后他们的帐户就是 ID。登录后,他们可以访问我公司提供的任何应用程序。

我看到了Gheimdall,但我无法完全安装它来测试,这个应用程序做一个概念验证项目非常复杂,最后一个版本是在 2008 年,他们的文档很差。

有人知道我的问题的解决方案或提示吗?

【问题讨论】:

  • 您不能只使用 OpenID 或 Google 帐户登录您的应用程序吗?您需要提供更多详细信息。
  • @Nick:不,因为我需要使用SAML来实现这个
  • 这需要是在您的应用程序中本地运行的 Python 解决方案,还是您愿意考虑使用按需解决方案来支持您的 SAML 2.0 要求? --伊恩
  • 这需要是一个 python 解决方案,但现在我不需要更多我的应用程序在 GAE 上运行(感谢上帝),所以我可以找到更多替代方案......你有什么建议吗?
  • Diego - 我为 Ping Identity 工作。如果您想了解更多信息,请给我发送电子邮件,我可以离线为您提供更多信息。 ibarnett AT pingidentity DOT com

标签: python google-app-engine saml single-sign-on


【解决方案1】:

看看PySAML2,它应该可以与 App Engine 一起使用:

PySAML2 是一个纯 python SAML2 服务的实现 提供者,在某种程度上也是 身份提供者。最初写的 在那里的 WSGI 环境中工作 是允许您使用的扩展 它与其他框架。

【讨论】:

  • PySAML 是 C 语言库的绑定,Google App Engine 不支持。
  • @Diego:啊,你说得对。大多数现有的 python SAML 库都需要 C 扩展;然而,我做了更多的研究,发现了一个似乎是用 pure python 编写的 SAML2 实现;查看我修改后的答案。
  • 你从哪里得到这个回答的描述?因为我下载了这个项目,在 README 文件中我发现:“你还需要 xmlsec,你可以在这里找到:aleksey.com/xmlsec” 还有文档:packages.python.org/pysaml2/html/install.html xmlsec 是 C 中的一个库,而 pysaml2 需要那,所以 pysaml2 不能解决我的问题 =/
  • @Diego:我在README.rst 中找到了描述。看起来 Roland Hedberg 已将 PySAML2 转换为纯 python 实现。请注意,原来的 README 最后一次修改是在 2010-04-17 并且 README.rst 是今天修改的!另外,如果您查看 setup.py,您会看到核心依赖项是 decoratorhttplib2,它们都是纯 Python 模块。
  • 我在开发中下载了那个pysaml2分支,我会尝试使用,谢谢。
猜你喜欢
  • 2018-01-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-08-28
  • 2012-05-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多