【问题标题】:SSO implementation for GAE web applicationGAE Web 应用程序的 SSO 实现
【发布时间】:2018-01-22 04:01:18
【问题描述】:

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

  1. 他们的断言消费者服务 (ACS) (https://www.google/companyname/a/acs) 的 XML 元数据,
  2. 要发送的 LDAP 属性列表(电子邮件),
  3. 哪个属性将用作断言的主题(公司企业 ID),
  4. 在 SAML 响应断言得到验证后,依赖方站点上的 RelayState URL 发送给用户,(应用程序目标 URL 来自 GAE 部署。like (https://appname-dot-projectid.appspot.com)
  5. 要在 URL 中使用的应用程序的短名称(少于 7 个字符),(作为应用程序名称给出)

根据此配置,ACS 不适用于特定的 GAE 应用程序,因此我从 google 服务器收到 400 错误。

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

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

【问题讨论】:

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


    【解决方案1】:

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

    【讨论】:

      猜你喜欢
      • 2013-02-03
      • 1970-01-01
      • 2013-05-01
      • 2017-07-12
      • 1970-01-01
      • 1970-01-01
      • 2020-10-17
      • 1970-01-01
      • 2012-08-13
      相关资源
      最近更新 更多