【问题标题】:How can I use Google authentication as a SimpleSAMLphp IDP?如何将 Google 身份验证用作 SimpleSAMLphp IDP?
【发布时间】:2020-08-29 03:22:14
【问题描述】:

我们希望将 SSO 用于一组应用程序(这将包括 GitLab、可能是 Drupal 以及我将在 Symfony 中为各种任务编写的一些小应用程序)。我们目前希望使用 Google 帐户对所有应用程序进行身份验证,但由于您可以拥有的应用程序数量存在限制(我知道您可以增加它们),而且 Google 有时会更改哪些功能是免费的,所以最好有这个选项如果需要,使用我们自己的登录名。

我过去曾在 GitLab 中使用过 SimpleSAMLphp(使用数据库存储凭据),它运行良好。有没有一种方法可以让我使用 Google Auth 作为 IDP 并让 SimpleSAMLphp 记录电子邮件地址以链接帐户等,并允许我添加群组等内容以在登录时发送到应用程序?我也会在数据库的登录表中放置一个密码字段,这样如果我们决定离开 Google,我们就可以生成随机密码并继续,而不会出现太多问题。

我在网上找到的信息是使用 SimpleSAMLphp 作为 gsuite 等的 IDP(我们将使用通用 Google 帐户,而不是 gsuite 中的帐户),而不是相反。我也看不到任何用于 Google 身份验证的Authentication Modules。在这方面有任何教程或说明吗?

【问题讨论】:

    标签: google-authentication simplesamlphp


    【解决方案1】:

    您可以相当轻松地完成您的要求。与其直接将您的 SP 与 Google 集成,不如将它们与您控制的 SSP idP 集成,然后将您的身份验证页面(即由您的 authsource 模块重定向到的页面)设置为 Google 的 SP。看起来是这样的:

    vendor sp -> 你的 SSP idP -> 你的登录应用程序 -> 你的 SSP SP -> google idP

    这样,您最终只需为所有供应商集成配置一个 Google 集成。这种方法有很多好处:

    • 您不受 google 施加的集成限制的影响
    • 由于您的供应商 SP 集成是在您自己的服务器上控制的,因此您将来可以轻松迁移到其他基于云的 idP 进行身份验证,而无需重新集成您的所有 SP
    • 如果需要,您可以轻松地为用户提供备用登录选项。
    • 您不受 Google 支持的 SAML 或协议的限制。许多供应商仍然使用基于专有令牌的身份验证。使用此设置可以轻松支持这些。

    如果您需要,我们很乐意为您提供实施细节方面的帮助。

    【讨论】:

    • 太棒了,谢谢。在接下来的几天里,我没有机会对此进行测试,但这正是我所寻找的。你知道哪里有代码示例和教程吗?
    • 据我所知没有教程,但过程相当简单:Explore /modules/exampleauth/lib/Auth/Source/External.php;复制它并将其用作构建您自己的自定义身份验证源的一般指南(请参阅simplesamlphp.org/docs/development/…)。先让它工作。一旦成功,请按照simplesamlphp.org/docs/stable/simplesamlphp-sp 将您的本地登录表单替换为将其转换为 SP 到 Google 所需的代码。如果您遇到麻烦,请告诉我!
    猜你喜欢
    • 2013-12-27
    • 2015-04-10
    • 1970-01-01
    • 2019-04-17
    • 2020-05-22
    • 2018-02-24
    • 2016-09-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多