GAE Web应用程序的SSO实现

时间:2017-08-14 10:22:31

标签: python-2.7 google-app-engine jinja2 saml

我正在尝试为我在Google应用引擎平台上运行的应用程序集成单点登录。 我正在使用SAML 2.0协议来完成这项工作。我的组织已经拥有使用LDAP的身份提供程序,它以这种格式(https://sso-companyname/appname)配置。对于此配置,它采用了以下详细信息

  1. 断言消费者服务(ACS)的XML元数据(https://www.google/companyname/a/acs),
  2. 要发送的LDAP属性列表(电子邮件),
  3. 哪个属性将用作断言的主题(公司企业ID),
  4. 依赖方站点上的RelayState URL,用于在验证SAML响应声明后发送用户,(应用目标URL表单GAE部署。如(https://appname-dot-projectid.appspot.com
  5. 要在网址中使用的应用程序的简称(少于7个字符),(以应用名称的形式提供)
  6. 根据此配置,ACS不适用于特定的GAE应用程序,因此我从谷歌服务器收到400错误。

    有人可以帮助我了解如何为单个GAE应用程序创建ACS,并且能够解释GAE Web应用程序的SSO将不胜感激。

    使用Python jinja2框架的Web应用程序用于UI,webapp2用于路由。它将调用google-big-query将数据填充到UI,目前,它使用GAE的Python标准环境,并使用OAuth 2方法进行身份验证并调用big-query API来获取数据。所以有些人没有GCP / Project访问权限,无法查看数据。为了解决这个问题,我们尝试在应用程序之上实现SSO。

1 个答案:

答案 0 :(得分:0)

我认为将GAE与SSO / SAML集成的最简单方法是使用Google Identity Platform (GIP),它在幕后使用Firebase。这使您可以使用firebase-admin Python软件包轻松地与JWT进行交互,并允许您使用GIP控制台来设置SAML服务器。