【问题标题】:Integrate SAML in Laravel using existing Idp and SP使用现有的 Idp 和 SP 在 Laravel 中集成 SAML
【发布时间】:2019-11-24 12:29:53
【问题描述】:

我不知道我想做的事情是否可行。我正在尝试将我大学的身份验证机制集成到使用 Laravel 作为后端的 android 应用程序中。我已经解码了 SAMLResponse,并在 XML 文件中找到了这个

  'SPNameQualifier' = 'https://sp-esse3-unimib-prod.cineca.it/shibboleth',
  'NameQualifier' = 'https://idp-idm.unimib.it/idp/shibboleth'

我认为是 SP 和 IdP URI。在我的 Android 应用程序中,我希望用户无需注册即可登录,因为他们可以使用他们的大学帐户。在 SAMLResponse 中,我还有 SignatureValueX509Certificate 和其他数据,但我不知道如何配置所有内容。

在 Google 上搜索,我找到了 laravel-saml2php-saml 的那些包。这些包裹适合我的问题吗?您能帮我了解如何配置所有内容吗?

【问题讨论】:

    标签: php laravel single-sign-on saml


    【解决方案1】:

    我会看看SimpleSAMLphp。您的应用程序将成为“服务提供商”或 SP。您需要为您的应用程序生成元数据,您需要与您大学的 IdP 管理员共享这些元数据以启用集成。上面提供的 SSP 快速入门链接详细介绍了如何为您的 SP 获取元数据,以及如何将身份提供程序提供的 XML 元数据转换为 SSP 库可读的格式。

    只有在发生元数据交换并且您的应用程序受到信任之后,您才能交换 SAML 响应。 SSP 使这个过程变得简单,因为您只需在任何时候需要保护资源时调用几行代码,即

    require_once('../../lib/_autoload.php');
    $as = new \SimpleSAML\Auth\Simple('default-sp');
    $as->requireAuth();
    $attributes = $as->getAttributes();
    

    这就是确保 SAML 来回运行所需的全部内容……但集成是另一回事。您的大学肯定有您需要遵循的政策和程序,并且您不能在不遵循其集成程序的情况下与大学集成,即适当的 IdP 不会向任何人提供 SAML 断言要求它的旧应用程序。

    【讨论】:

    • 感谢您的提示,我会联系大学管理员进行正确的集成
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-11-12
    • 1970-01-01
    • 2020-02-21
    • 1970-01-01
    • 2014-10-28
    • 2017-04-26
    • 2021-06-10
    相关资源
    最近更新 更多