问题标签 [saml]

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 回答
709 浏览

wcf - WSSecurityTokenSerializer ReadToken 方法性能

我有一个 Dispatch MessageInspector,它正在反序列化包含在 SOAP 消息头中的 SAML 令牌。

为了进行反序列化,我使用了以下代码的变体:

我看到的问题是 ReadToken 调用的性能取决于运行 Windows 服务的帐户(托管 WCF 服务的帐户)。

如果服务作为 Windows 域帐户运行,则 ReadToken 调用所用的时间几乎为零。当作为本地计算机帐户运行时,调用需要 200 到 1000 毫秒。

谁能解释这里发生了什么以及为什么运行这段代码的帐户对其性能有影响?

谢谢,

马丁

0 投票
1 回答
1837 浏览

asp.net - SAML 2.0 和 ADFS 2.0 需要帮助!

在尝试学习 ADFS 2.0 环境时,我使用 Visual Studio 2010 创建了一个空的 ASP.NET Claims 感知应用程序作为 RP。

使用 ADFS 2.0 我做了以下事情:

  1. 使用“添加信赖方信任...”向导创建了 SAML 2.0 信赖方
  2. 使用“添加声明提供者信任...”向导创建了 SAML 2.0 声明提供者

现在我做了以下步骤:

  • 将浏览器指向http://localhost/adfs/IdpInitiatedSignOn.aspx
  • 从组合框中选择步骤 1 中定义的 RP 作为要登录的站点。
  • 在下一页中,从组合框中选择步骤 2 中定义的 IDP 作为身份验证站点。
  • 点击“继续登录”

现在,ADFS 2.0 将我重定向到为 IDP 配置的 URL,并将 SAMLRequest 附加到请求。(这很棒)

但是,到达 IDP 的 SAML 请求不包含任何 ACS URL(更详细地说,没有“AssertionConsumerServiceURL”的 XML 节点),

ACS URL 不是 SAML 请求中的强制属性吗?

谢谢 !约阿什

0 投票
2 回答
2962 浏览

xml - 使用 OpenSAML 和 OpenSSO 的签名验证问题

我们在服务提供商站点上使用 OpenSAML 为我们的客户提供 SSO。我们的客户(ID 提供者)最终使用 OpenSSO。当涉及到签名元素时,OpenSSO 发布的 SAML 响应略有不同,因为它不受命名空间的限制。这似乎不适用于 OpenSAML,它从该 samlResponse.getSignature()方法返回 null,因此我无法验证签名。

导致问题的 SamlReponse 的签名片段


来自另一个有效的 SAML 响应的签名片段


正如您在上面看到的,来自 OpenSSO 服务器的签名片段不包含 SAML 绑定规范中指定的命名空间限定符。

对我来说,最后一个选项是对发布的 SAMLResponse 进行一些按摩,以将命名空间添加到签名元素以使 OpenSAML 库正常工作。

任何关于如何使用 OpenSAML 库来解决这个问题的想法都非常感谢。

在此先感谢 CJ

0 投票
1 回答
1383 浏览

.net - 如何验证 SAML 令牌

我试图支持的场景是这样的:客户网站使用他们网站的单点登录重定向到我的网站。客户端有一个 STS,它为传递到我的网站的经过身份验证的用户生成 SAML 令牌。我的问题是验证传递给我的网站的 SAML 令牌的最简单和最好的方法是什么?我希望我可以在不需要 STS 服务的情况下实现这一目标。我可能会使用 .NET 技术。任何类型的帮助或指导将不胜感激。谢谢。

0 投票
1 回答
1628 浏览

php - 在 XML 中使用 HMAC-SHA1 生成 SignatureValue

签名方法是HMAC-SHA1,我已经<SignedInfo>生成了。问题是我不确定在 HMAC 计算中使用什么作为键。

我注意到有两个<Entropy>包含<BinarySecret>初始请求(RST)和响应(RSTR)。我从 WS-Trust 中读到,这表明我可以使用来自<BinarySecret>和的这两个二进制值生成一个证明密钥,正如响应中的标记中PSHA1所指定的那样。<ComputeKey>但是,我永远无法从服务提供商处获得与样本中的签名值相同的签名值。

任何信息都会有所帮助!

举个例子:

  • RST 的二进制秘密是 grrlUUfhuNwlvQzQ4bV6TT3wA8ieZPltIf4+H7nIvCE=
  • RSTR 的二进制秘密是 YLABh3ZmZyiO5gvVLZe9J4JPd9w59KGeTFwE85XlzxE=
  • 正确的签名值为 nXJEN8p1nupMA/00TK03VZlADkU=
  • 我生成的签名值是 bEGpeRFsznafFRf86g281zKV3Ro=
  • SignInfo的内容如下
0 投票
2 回答
1464 浏览

asp.net - SAML:服务提供商之间的通信?

我的任务是在 ASP.NET 中为 SAML v2.0 编写一个 SP(服务提供者),我想知道以下内容;

如果用户在主 SP 上登录服务(用户可以作为锚点/链接访问我的 SP,除非之前已添加书签),然后请求访问我的 SP,我应该如何处理他们的登录?

他们将在主 SP 上登录并获得 IdP 的授权,但该 SP 将如何告诉我的 SP 用户已登录?我是否必须向 IdP 发送新的授权请求以确定用户是否已登录,或者是否应该使用来自 SP 的查询字符串将其作为发布数据/重定向传递?

我已经阅读了技术概述基础知识,但它们没有涵盖这一部分。

我会联系主要的 SP 并询问如何进行,但我想先覆盖我的基地,看看是否有一个标准的方法来处理这种情况。

0 投票
2 回答
1017 浏览

axis2 - SAML2 与axis2 Web 服务的使用

有什么方法可以使用 SAML 对 Idp 使用axis2 Web服务进行身份验证(SSO)?

0 投票
1 回答
2387 浏览

c# - 在 C# 中验证 Java SAML 响应

我正在查看有关在 C# 中验证 Java 生成的 SAML 响应的各种帖子。我一直在尝试所有的建议,但仍然得到一个错误的SignedXml.CheckSignature结果,现在我完全不知道可能出了什么问题,我正在与你们联系,看看你们是否有我可以使用的建议。

响应中的签名节点是

我用来验证响应的 C# 代码是

我什至尝试通过在代码中加载证书来验证签名,但仍然遇到同样的问题。

有人对为什么签名没有得到验证有任何建议吗?

0 投票
0 回答
683 浏览

single-sign-on - 寻找 SAML SSO 认证

我们目前正在为我们的 SAAS 产品实施 SAML2 SP lite 配置文件,并且我们正在寻找一种方法来证明我们的实施。

我已经做了一些研究并了解了 Kantara 倡议 ( http://kantarainitiative.org/wordpress/programs/iop-certification/ )。有人对互操作性事件有一些反馈吗?

我还访问了http://www.pingidentity.com/,想知道是否有人对他们的“ping 认证”计划有任何反馈。

0 投票
1 回答
3823 浏览

saml - 利用 ADFS 2.0、SAML 2.0 和 simpleSAMLphp 配置 SSO

我对这些系统的了解并不多,所以如果我提出愚蠢的问题,请原谅我。

我希望实现以下目标:

Idp (AD FS 2.0) -> SAML 2.0 -> Sp (simpleSAMLphp)

*除了简单地验证用户身份之外,我不需要任何花哨的东西。

我尝试将带有 AD FS 2.0(域 A)的 Windows Server 2008 配置为身份提供程序,并让它处理来自不同域(使用 simpleSAMLphp(域 B)创建)上的服务提供程序的身份验证请求。

AD FS 2.0 管理应用程序允许我从 SP 添加原始元 XML 来配置 idp。我的 SP 也有能力做同样的事情。所以我认为如果我正确设置了 idp(AD FS 2.0),那么我只需让 SP 解释 idp 的元数据。

目前我觉得我接近解决方案(但我可能又错了!)。目前,当 Idp 询问您的登录凭据并输入我的凭据时,似乎一切都已找到,似乎会话已开始,但我收到“未授权 - HTTP 错误 401。请求的资源需要用户认证。' 输入正确的登录凭据后的消息。

有人可以解释如何解决这个问题吗?或者,如果使用 SAML 2.0 进行 AD FS 2.0 身份验证的分步设置更快,则只需对用户名和密码进行身份验证。

提前感谢您的任何提示!