使用现有的Idp和SP在Laravel中集成SAML

问题描述 投票:0回答:1

我不知道我想做什么。我正在尝试将我的大学的身份验证机制集成到一个使用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个回答
0
投票

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

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

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

这是确保SAML来回飞行的全部……但是集成是另一回事。当然,您的大学会强加某些政策和程序,您必须遵循这些政策和程序,并且您不能不遵循大学的集成程序就与大学进行集成,即适当的IdP不会向任何人提供SAML声明要求它的旧应用程序。

© www.soinside.com 2019 - 2024. All rights reserved.