问题标签 [saml-2.0]

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

saml - SAML 属性 AttributeStatement 的使用

在 SAML 2.0 中,您可以使用 AttributeStatement 元素来提供任何类型的应用程序特定信息。

我想知道的是,在 SAML 断言中传递业务相关信息真的很好吗?不应该在例如单独的 Web 服务调用中提供这些数据吗?

我只想在这种情况下寻求最佳实践或任何现实世界的经验。

问候, 安德烈亚斯

0 投票
1 回答
2229 浏览

.net - SAML 2.0 和加密断言

我是这个声明和 SAML 概念的新手。我正在使用来自 ASP.NET 的 WIF,并从我的 IDP 收到以下请求。我通过 http 请求发送了用户名/密码并收到了此 SAML 响应。我现在具体做什么?我听说我需要验证签名和密钥,如果需要,如何(.NET)以及为什么?

0 投票
4 回答
9729 浏览

login - 使用 SAML 的透明 SSO(IE、SAML 2.0、ADFS、Kerberos 身份验证)

配置为:作为 IdP 的 ADFS 2.0(支持 WS-Federation 和 SAML 2.0),作为服务提供者的 ASP.NET 应用程序。当 SPS 使用 WS-Federation 标准(使用 WIF)请求 ADFS 时,它允许我自动登录到 ADFS,即使新会话启动,也不会出现登录弹出窗口,因此 Kerberos 令牌可以按预期完成工作。但是,对于 SAML 2.0(使用 ComponentSpace.SAML.2 库),每次我打开 IE9 并被重定向到 ADFS 时,都会要求我在标准的小型弹出式登录窗口中输入我的 windows 域凭据。是否有任何 SAML 2.0 参数或其他技术让我像在 WS-Fed 案例中一样摆脱这个窗口?谢谢

0 投票
2 回答
968 浏览

php - 使用 SAML 2.0 单点登录

我们的任务是使用 SAML 2 集成单点登录。

将有两个网站(其中一个是我们的,另一个是我们无法控制的外部网站)。我们使用 PHP,我们相信他们使用 .NET。

我已经研究过使用 SimpleSamlPHP 来实现它,但是进展并不顺利。在完全实现之前,我一直在使用 Ubuntu VM 来测试 SimpleSAMLPHP,但是我无法继续安装——我已经阅读了文档,但是我看不出哪里出错了——是使用VM导致问题?

无论如何,我是否可以实施任何其他方法来使其正常工作,并能够与 PHP 和 .NET 网站进行通信?

另外,最后一点是我需要我们的网站成为主要 SP,而他们的网站是次要 SP——这可能吗?如果可以,怎么办?

谢谢。

0 投票
1 回答
1564 浏览

salesforce - 如何从 OpenAM for SalesForce 检索 SAML 响应

我从 TrustAuthorityClient API 获得了 SAML 断言。使用以下公共 API 代码

但这是使用 SunSTS 创建的。当我测试此断言以从 SalseForce 检索访问令牌时。它给了我无效的断言。

有没有办法从 OpenAM for SalesForce 检索 SAML 响应?

当我测试 IDP 时,会向 SalesForce 发起 SSO。在调试日志中,我可以看到为 SSO 创建了 SAML 响应。我应该如何从 OpenAM 检索此 SAML 响应?

0 投票
2 回答
23772 浏览

java - 使用 OpenSAML 在 Java 中使用 SAML 2.0 解密加密断言

我在尝试使用 SAML 2.0 解密加密断言时遇到问题。我使用的库是 OpenSAML Java 库 2.5.2。

加密的断言如下所示:

我确实使用以下 openssl 命令将 PEM 格式的私钥转换为 pkcs8 格式:

然后我准备尝试解密加密的断言。这是我的Java代码:

运行此代码始终导致无法解密断言。我确实收到以下错误:

在这种情况下,我真的不知道我做错了什么。我将我的私钥转换为 pkcs8,我加载了我的 SAML XML 数据并将其解组为有效类型(EncryptedAssertion),并根据我的私钥创建了一个解密的。

是否可能与 RSA 的 oaep 格式有关?我正在使用默认的 java 加密库。

谢谢!

0 投票
1 回答
3322 浏览

salesforce - SSO 与 SFDC 的签名无效/配置的证书不匹配

我对 OpenAM 和 SalesForce.com (SFDC) 进行了 SSO 我已经安装了 OpenAM-Client SDK 以从 OpenAM 检索 SAML 断言。

我使用此断言数据生成 SalesForce 所需的 SAML 响应。当我将此数据传递给 SFDC 时。我收到 SAML 的错误消息。

“失败:签名无效/配置的证书不匹配”</p>

我使用了从 OpenAM 客户端 SDK 公共 API 断言中获得的相同证书和签名数据。

在使用 SDFC 进行 SSO 配置时。我使用了 OpenAM 提供的默认证书(测试证书)。

有没有办法从 OpenAM 检索测试证书及其签名?

0 投票
2 回答
4036 浏览

single-sign-on - 在 SAML 2.0 中,IdP 和 IdP Lite(轻型)以及 SP 和 SP Lite 之间有什么区别?

我正在研究 SSO 技术,特别是 SAML 2.0,我看到 IdP、IdP Lite、SP 和 SP Lite 的操作模式。我能找到的对这些“精简”模式的唯一参考是在SAML 2.0 规范的一致性部分。

完整版和精简版的唯一区别是“精简版”是完整版的子集吗?如果与精简版一起使用,会缺少哪些关键功能?

0 投票
1 回答
2423 浏览

salesforce - SalesForce.com 的 SAML 2.0 Bearer 断言的无效断言

我正在尝试为 SalesForce 做“SAML 2.0 Bearer Assertion”

我收到 {"error":"invalid_grant","error_description":"invalid assertion"}

有什么方法可以验证销售人员的不记名断言?

我在我的代码中做了以下操作

我产生了以下断言

0 投票
1 回答
951 浏览

asp.net-mvc-3 - 如何从 STS / IdP 查看重定向状态

我已经搜索(甚至)搜索了这个问题的答案,但到目前为止还没有找到任何有用的东西。我对 ADFS、STS 和 WIF 还是很陌生,所以请原谅任何明显的无知或不当使用术语。;)

我目前正在通过 ADFS 将自定义 MVC3 应用程序与外部 IdP 集成。ADFS 到 IdP 的设置已全部完成并正常工作。

该站点的某些部分可供匿名用户访问 - 在 web.config 身份验证模式中已设置为无。其他部分通过自定义 System.Web.Mvc.AuthorizeAttribute 修饰其控制器/操作方法来保护。

为使用 WsFederationAuthenticationModule 对 web.config 进行了所有常见的修改,并且它可以工作 95%;用户可以浏览到网站的匿名访问部分。当他们尝试访问受保护的部分时,授权属性会检查他们是否在与 HttpContext.Current.User 关联的 IClaimsPrincipals 中从我们的 IdP 获得了一些自定义信息,如果没有,则将 ActionResult 设置为 401;WsFederationAuthenticationModule 启动并将它们重定向到 IdP 的登录页面。当他们输入他们的详细信息时,他们会被一些 FedAuth cookie 成功重定向,然后授权就会通过。

当他们到达 IdP 的登录页面时,问题就开始了。这个特定的 IdP 有一个链接,可将您直接返回到我们的网站(返回到原始请求所发到的同一页面),并在某处嵌入此 SAML 响应(这是根据他们的文档)

瓮:绿洲:名称:tc:SAML:2.0:状态:AuthnFailed

在这一点上,它们现在是“未经授权的”,所有用户将看到(至少在开发中)是一个 401 页面。您必须终止会话或以其他方式摆脱该 cookie 才能重新开始。

我需要做的是拦截来自 IdP 的重定向请求,并从本质上检查该特定 SAML 状态,因为然后用户应该被重定向到未经授权的区域之一,就好像什么都没发生一样。我在 global.asax 中尝试过这样的事情:

..但我在那个令牌上看不到任何有用的东西;没有任何东西表明特定的响应状态。根本有一个 FedAuth cookie但没有来自 Idp 的自定义信息这一事实完全表明用户已经在那里但不知何故未能进行身份验证,但原则上我希望能够看到该状态。我可能还必须处理 IdP 的超时问题......

也许我做错了,或者只是老不明白,但可以以某种方式让我了解如何确定这些响应状态?

呸。谢谢!:D