问题标签 [ws-trust]

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

php - 如何使用 samel 2 令牌通过 WEB API 2016 CRM 服务进行身份验证

通过遵守 ws-trust 规范,我成功获得了安全令牌(samel2.0)。我无法继续如何使用此令牌访问我的服务(CRM 2016 web api)?

这是我得到的令牌:

任何帮助将不胜感激。

0 投票
1 回答
1209 浏览

wcf - 使用颁发的令牌调用 WCF 服务

我尝试以下操作:

  • WCF 客户端调用 STS 并获取 SAML 断言
  • 客户端使用 SAML 断言调用服务

现在我已经将上述场景实现为三个 LinqPad 脚本:client.linqsts.linq(自托管 WCF 服务)和service.linq(自托管 WCF 服务)。它们都可以在https://github.com/codeape2/WCF_STS找到

我需要一些帮助才能让它工作。

使用以下代码client.linq,我可以调用我的 STS 并获得 SAML 断言:

下一步,我使用以下代码(尝试)调用包含 SAML 断言的服务:

接下来会发生什么我完全不明白。我运行脚本时正在运行提琴手,这就是我所看到的:

  1. 第一个请求/STS(如预期)
  2. 结果proxy.CrossGatewayQuery导致三个调用/Service

    2.1。带有操作的 SOAP 调用http://schemas.xmlsoap.org/ws/2005/02/trust/RST/Issue

    2.2. 带有操作的 SOAP 调用http://schemas.xmlsoap.org/ws/2005/02/trust/RSTR/Issue

    2.3. 带有 action 的最终 SOAP 调用urn:ihe:iti:2007:CrossGatewayQuery。使用 Fiddler,我注意到 SOAP 安全标头包括第一步中的 SAML 断言。

最终调用导致服务返回 SOAP 错误:消息中至少有一个安全令牌无法验证。保存的 Fiddler 请求/响应日志在这里:https ://drive.google.com/file/d/0B-UZlLvBjjB2S050TXRhVEo2Vmc/view?usp=sharing

如果有人能就以下内容启发我,我将不胜感激:

  • 为什么 WCF 客户端向(上面的步骤 2.1 和 2.2)发送RST/IssueRSTS/Issue请求?/Service
  • 我如何配置这些部分来做我想做的事,即向 STS 发送一个请求,然后向服务发送一个请求,传递我从 STS 获得的 SAML 断言。
0 投票
0 回答
322 浏览

c# - 使用自定义属性从 ADFS 2016 请求 JWT

我们正在寻找一种方法,通过发送存储在数据库或 AD LDS 中的用户 UID,通过 Web 服务调用从 ADFS 2016 请求 JWT 令牌。令牌应包含完整的域用户名作为声明。AC# 服务会在没有用户 GUI 交互的情况下请求令牌(UID 由 ID 卡提供),然后将其转发到 Intranet Web 应用程序。

ADFS 2016 中的 OAuth 2.0 或 WS-Trust 1.3 是否可以做到这一点,涉及哪些步骤?

现在我已经尝试使用 OAuth 2.0(HTTP POST 到 /adfs/oauth2/token),但无法正确配置 ADFS(应用程序组、中继方等)并发送正确的 HTTP 参数以获取通过提供用户名/密码的令牌。

如果有人能指出我正确的方向,那就太好了。

编辑

更详细地描述我们想要实现的目标:

目标是创建一个处理 NFC 卡登录并将带有用户信息的 JWT 发送到任意 Web 应用程序的 Windows 服务。

  1. C# windows 服务从 NFC 读卡器读取卡 UID。

  2. Windows 服务通过提供卡 UID 从 ADFS 请求 JWT。这可以是 OAuth 或 WS-Trust,无论哪个有效。

  3. ADFS 从机密数据库中查找卡 UID。数据库条目还包含用户名。然后它可以通过在 ADLDS 中查找域用户来进一步丰富这些数据。

  4. ADFS 创建至少包含域用户名的令牌并将其发送回 C# windows 服务。无需用户与 ADFS 登录屏幕交互。

  5. Windows 服务接收令牌并将其转发到预配置的 Web 应用程序登录处理程序。

  6. Web 应用程序验证令牌签名并处理登录。

在这种情况下,凭证将仅是卡 UID。ADFS 可以做到这一点吗?如果没有,我的备份计划是直接在我的 Windows 服务中创建令牌。

0 投票
2 回答
8530 浏览

saml-2.0 - WS-Trust、WS-Fed 和 SAML 1.1/2.0 协议之间的区别

WS-Trust、WS-Fed 和 SAML 1.1/2.0 协议之间有什么区别?

当 SAML 在 WS-Trust 和 WS-Fed 协议中用作安全令牌时,我对这些协议的理解会变得混乱。

有兴趣了解这些协议在哪种情况下使用以及它们有何不同。如果不使用商业产品/技术参考,您的答案将很容易理解。

0 投票
0 回答
160 浏览

wso2 - 从 WSO2 ESB 调用 WS-Trust 安全服务

我正在寻找有关如何从 WSO2 ESB 调用 WS-Trust 安全 SOAP 服务的帮助。这个想法是创建一个非安全代理服务,它会调用 WS-Trust 安全后端服务,因此我们的 SOAP 客户端不必担心身份验证。

我一直在浏览文档,但没有发现任何有价值的东西。文档提到 WSO2 ESB 使用 Apache Rampart,更具体地说是 Rahas 模块来参与 WS-Trust 安全服务,但没有关于如何配置的示例,例如 - 安全令牌服务地址。

到目前为止,我发现这篇博文 http://xacmlinfo.org/2012/11/05/how-to-invoke-secured-backend-service-using-wso2-esb/

它运行类似的场景,但没有 WS-Trust。它使用 WS-Policy 文件中的 Rampart 配置,但 Rampart 配置不支持任何 WS-Trust 属性。

我还发现了这个:http ://ask.programmershare.com/279_17604398/ 这更符合我正在寻找的内容,但是这个例子是以编程方式进行 STS 调用,即使这样也没有成功。

有谁知道成功配置调用安全令牌服务的任何示例 - > 使用 WSO2 ESB 调用自身的服务?

0 投票
1 回答
263 浏览

wif - SSPI 协商失败 WSTrustChannelFactory

这个已经有一段时间了,我正在尝试构建一个可以调用 .net web/wcf 服务 SP 的控制台应用程序,第一步是从 idP (ADFS4.0) 获取一个令牌,粘贴的代码正在工作一整天都很好,在某些时候它停止工作并出现以下错误:

SOAP security negotiation with 'https://adfs.domain.in/adfs/services/trust/13/windowsmixed' for target 'https://adfs.domain.in/adfs/services/trust/13/windowsmixed' failed. See inner exception for more details.

内部错误是:

The Security Support Provider Interface (SSPI) negotiation failed.
NativeErrorCode: 0x80090350 -> SEC_E_DOWNGRADE_DETECTED

我已经尝试过 /13/windows 和 /windowstransport 以及端点。

0 投票
3 回答
3250 浏览

c# - 使用 WIF 4.5 从 WS-Trust STS 请求 SAML 2.0 安全令牌

我可以通过在 RequestSecurityToken 消息中指定 TokenType=SecurityTokenTypes.Saml 来请求 SAML 1.1 令牌。我可以将其转换为 ClaimsPrincipal 并查看索赔。

但是,当我想通过将 TokenType 更改为命名空间“ http://docs.oasis-open.org/wss/oasis-wss-saml-token-profile-1.1#SAMLV2.0 ”来请求 SAML 2.0 令牌时,我获取包含以下内容的异常。

System.Xml.XmlException:'无法从元素'Reference'中读取 KeyIdentifierClause,名称空间为' http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd ' . 自定义 KeyIdentifierClauses 需要自定义 SecurityTokenSerializers,请参考 SDK 示例。

我想知道从 WS-Trust 1.3 安全令牌服务请求时是否支持 SAML 2.0 令牌,如果支持,它是如何请求的?Microsoft 提供的 SecurityTokenTypes 常量类仅包含一个未指定版本的“Saml”,而且很有趣,它引用了 Microsoft 特定的命名空间。

我知道微软已经为 SAML 2.0 令牌提供了支持类,例如 Saml2SecurityTokenHandler,但我似乎无法真正从 STS 请求一个。

下面是我的代码。

当我没有在 RST 中指定 TokenType 时,这是发送到 WS-Trust STS 的 SOAP 消息。

这是来自 WSO2 身份服务器的响应。

如您所见,WSO2 Identity Server 返回 SAML 1.0 和 SAML 1.1 命名空间的混合。

0 投票
1 回答
99 浏览

ws-security - 带有 PingFederate 的 WS-STS,用于使用 Axis 1.7.2 构建的 Web 服务

我有一场发布网络服务的战争。Web 服务是使用 Axis 1.7.2 构建和部署的。我已经开发了可以使用 WS-STS 保护 Web 服务的代码。这适用于 WSO2 身份服务器的安全令牌服务器。

我在通过 PingFederate 的 STS 保护 Web 服务时遇到问题。配置步骤之一是在连接数据库中添加策略。Java 代码将获取策略 XML 并将其添加到所有 Web 服务的“services.xml”中。

我从以下 PingFederate URL 获得了 WS-Trust 策略:

政策内容如下所示:

如果有人可以指向 PingFederate 的 STS 工具包或教程,那将是极大的帮助。

0 投票
1 回答
155 浏览

java - 如何为 WS-TRUST 实现出站网关?

我想为 WS-Trust 实现一个出站网关:

  1. 拦截所有出站 SOAP 消息
  2. 向 STS 发送 RST。
  3. 在调用外部服务之前,在消息的 SOAP 标头中包含响应 SAML 令牌。

我发现 WSO2 ESB 可以充当这样的网关。我想我可以实现一个 Java 类(使用 Apache Axis)来执行底层步骤(1-3)。然后我会让 ESB 调用这个 Java 类。你认为有可能吗?任何样本都会非常有帮助。

除了 WSO2 ESB,你还有什么建议吗?

非常感谢

0 投票
0 回答
235 浏览

java - 如何使用 Apache CXF 库使用 JAX-RS 创建 WS-Trust 客户端?

我搜索了很多文档并搜索了很多,以便找到如何WS-Trust client使用 JAX-RS 创建一个使用Apache CXF library

Apache 文档清楚地提到它支持 WS-Trust 身份验证,但部分支持。

我的问题是如何使用 Apache CXF 库使用 JAX-RS 创建 WS-Trust 客户端?

我们是否有任何示例项目或良好的文档参考?