问题标签 [simplesamlphp]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1759 浏览

php - SAML 的正确 XML 规范化

我在验证 SAML 2.0 断言 XML 的签名时遇到了问题。我正在使用来自 simpleSAMLphp 项目的 SAML2 库,而该项目又使用 PHPxmlseclibs库来签署 XML 并验证签名。

我收到来自我的合作伙伴的以下断言:

签名元素请求独占 C14N 规范化。库库将其xmlseclibs规范化如下:

然而,我的伴侣实际签署的元素是:

几乎相同,但是没有xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"命名空间。命名空间在xsi签名 Transform 元素中提到:<Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#"><InclusiveNamespaces xmlns="http://www.w3.org/2001/10/xml-exc-c14n#" PrefixList="#default saml ds xs xsi"/></Transform>

由于签名中的 SHA1 摘要与在元素上计算的摘要 xmlseclibs 不匹配,因此 SAML 身份验证失败。

所以我想知道这里谁是正确的——是否必须包含 xsi 命名空间(即使此命名空间中没有元素),因为它包含在 InclusiveNamespaces 中,或者如果不是,为什么在xmlseclibs其中包含该命名空间C14N 规范化?

0 投票
2 回答
486 浏览

ember.js - Ember SimpleAuth 和 SimpleSAMLPHP 屏幕闪存

我正在构建一个 Ember 应用程序,我必须与SimpleSAMLPHP集成以处理针对多个身份提供者 (IdP) 的身份验证。概括地说,身份验证流程如下:

  • 用户导航到 Ember 应用程序
  • 用户未通过身份验证(通过 SimpleAuth)并看到视图 A。
  • 用户单击“登录”并被定向到 SimpleSAMLPHP,它位于 Ember 应用程序之外。
  • 用户输入凭据并针对任何 IdP 进行身份验证并返回给 Ember 应用程序。

问题出在此返回 Ember 应用程序上。Ember 将加载视图 A(未经身份验证的视图),因为 Ember SimpleAuth 尚未到达其sessionAuthenticationSucceeded回调。此后不久就到达该回调,我可以将经过身份验证的视图 B 呈现到插座中。问题是用户在看到视图 B 之前看到了视图 A 的闪现。

  • 我可以通过 AJAX 发布到 SimpleSAMLPHP 而无需离开 Ember 应用程序吗?我假设这会破坏这一点,产生安全问题等。
  • 或者有没有办法让 Ember 呈现不同的渲染,直到达到 sessionAuthenticationSucceeded 回调?
  • 我想我也可以使用一些技巧,让视图 A 始终是一个微调器或其他东西,然后在准备好时渲染一个新视图。我认为这可能只会导致其他问题,因为 sessionAuthenticationSucceeded 仅在身份验证后立即执行。

我要么错过了一些简单的东西,要么就是没有真正的好方法来做到这一点。我愿意接受任何建议,在此先感谢。

0 投票
1 回答
596 浏览

drupal - 使用 Simplesamlphp IDP 进行身份验证后的 Drupal 登录问题

我已按照下面提到的步骤将 Simplesamlphp 与 Drupal 应用程序集成。但是,在外部 IDP 成功认证后,我面临以下问题。

https://www.drupal.org/project/simplesamlphp_auth

问题:使用 Simplesamlphp IDP 进行身份验证后的 Drupal 登录问题

描述:当我单击登录块上的联合链接时,它会重定向到我已正确配置的外部 IDP,

然后,在输入凭据并正确验证之后,它重定向回 Drupal 应用程序,但它没有在 drupal 站点上创建用户,也没有登录到 drupal 站点。

遵循的步骤

  1. 安装了 Drupal 7:例如:local.mysite.com
  2. 在 drupal 根文件夹下安装 SimpleSAMLphp - 例如:local.mysite.com/simplesaml
  3. 将 SimpleSAMLphp 配置为服务提供者
  4. 在 Drupal 7 上安装 simplesamlphp_auth 模块
  5. 配置 simplesamlphp_auth 模块
  6. 激活 simplesamlphp_auth 模块
  7. 联合链接已在登录块上打开,单击链接后,它会重定向到外部 IDP 提供商,然后它会要求输入凭据。
  8. 输入凭据后,它正在验证和验证。
  9. 成功验证后,它会重定向回 Drupal 应用程序。

10. 但是,它没有在drupal 站点上创建用户,也没有登录到drupal 站点

仅供参考:我已经配置了会话 store.type = sql。

有没有人遇到过类似的问题,是否有相同的解决方案。请帮我解决这个问题。

问候,

阿伦

0 投票
2 回答
7010 浏览

symfony - Symfony2 中的 saml2 身份提供者

我必须实现一个 SAML2 身份提供者 (IdP) 并将其与现有的 Symfony 2 应用程序集成。

我发现了一些实现 Service Provider (SP) 但不是 Identity Provider 的包,所以我认为我可以使用SimpleSAMLphp library。还有其他解决方案吗?

如何将我的用户提供程序逻辑与 SimpleSAMLphp 集成?

0 投票
2 回答
1008 浏览

salesforce - 当用户从 SAML 服务提供商注销时,它不会从 Salesforce 身份提供商注销用户

我在 Salesforce 和 Drupal 之间使用 Salesforce 作为身份提供者和 Drupal 作为使用 SimpleSAMLPHP 的服务提供者在 Salesforce 和 Drupal 之间进行 SSO。当用户从 Drupal 网站注销时,它不会从 Salesforce 中注销。

为了解决这个问题,我在 Drupal 服务提供商中使用了“SingleLogoutService”作为https://salescloud--OptusFull.cs13.my.salesforce.com/secur/logout.jsp 。但这里的问题是注销过程现在以 Salesforce 登录页面结束,我没有找到将其重定向到 Drupal 站点的方法。有没有办法将用户重定向回 Drupal 站点。

请从 metadata/saml20-idp-remote.php 中找到元数据信息

0 投票
1 回答
1364 浏览

simplesamlphp - 使用 PingFederate IdP 的 SimpleSAMLphp SP 的 SSO 的 SAML 绑定

我设置了 PingFederate IdP,我想为基于 SimpleSAMLphp 的 SP 启用 SSO。PingFederate 配置要求使用 POST 绑定发送 SAML 请求,以及将 LogoutRequest 作为 POST 请求发送。SimpleSAML 将 SAML 请求发送到默认 HTTP 重定向绑定中的 SignOnService。我尝试通过以下方式更改 saml20-idp-remote.php 中 idp 的绑定:

当我尝试测试身份验证时,在选择 IdP 后,我收到以下错误:

我没有设置正确的绑定,还是我做的方式不正确?SP 元数据中是否需要一些配置?

0 投票
1 回答
961 浏览

php - 自定义登录页面而不是 simplesamlphp IDP 登录页面

我们构建了 Simplesamlphp IDP,它按照程序将数据传输到 sp。它进展顺利。现在我们要实现我们的站点登录页面,而不是 IDP 默认登录页面。如何实现 Simplesamlphp IDP 设置的选项?或者我应该通过在站点登录过程中设置任何额外的会话来实现吗?

请帮助解决这个问题。

0 投票
1 回答
233 浏览

simplesamlphp - SimpleSamlPHP Heroku 丢失状态

我有 simpleSaml 与 codeignighter 集成,一切都适用于 1 dyno,但是一旦我将 dyno 增加到 1 或更多,我就开始丢失状态信息。我认为 cookie 没有正确更新,但我不确定。我尝试使用 memcached 无济于事。有谁知道为什么这会开始发生不止一个测功机?

0 投票
1 回答
1804 浏览

php - SimpleSAMLphp:使用 Wamp 安装 localhost

我尝试使用 WampServer 在我的本地主机上安装 SimpleSAMLphp,所以我按照此页面上的教程进行操作:https ://simplesamlphp.org/docs/stable/simplesamlphp-install

但是当我完成并尝试访问我的安装主页时,我收到以下消息:“禁止您无权访问 / 在此服务器上。”

我知道它来自我的 apache 的配置,但我不明白如何修复它。

我把这一行放在我的文件 httpd.con 中:

我把我下载的所有文件放在https://simplesamlphp.org的路径 C:/wamp/www/var/simplesamlphp/

我尝试更改我的文件 httpd.con 的配置,但我仍然有同样的错误。

================ 第二篇 ==============

经过多次尝试不同的配置,我仍然不明白为什么它不起作用,但我有新元素。

我返回到基本文件 httpd.con 我只是取消注释该行:Include conf/extra/httpd-vhosts.conf并在文件 httpd-vhosts.conf 中添加以下行:

但是现在当我进入 localhost/simplesaml 页面时,我收到了以下消息:page in inaccessible

所以我尝试在路径交换索引文件:C:\wamp\www\var\simplesamlphp\www

并且新文件起作用(如果我尝试只是回显“toto”)

所以我迷路了。

0 投票
1 回答
72 浏览

saml-2.0 - 在经过 SAML 身份验证的 SP 中处理特定于用户的数据

我刚刚开始使用 SAML。AFAIK,在身份验证步骤中,IdP 和 SP 之间没有直接通信,并且断言通过浏览器发生。

在我的应用程序(将是 SP)中,我想存储一些用户特定的数据(页面大小、其他 UI 首选项等内容)。当用户从 IdP 中删除时,我还想从我的应用程序中清除这些数据吗?对于此类任务,是否可以从 IdP 向 SP 获取此“事件”?

PS - 我的应用程序是基于 PHP 的,我很可能是 simplesamlphp。

谢谢,~preetham