问题标签 [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.
php - 如何使用 samel 2 令牌通过 WEB API 2016 CRM 服务进行身份验证
通过遵守 ws-trust 规范,我成功获得了安全令牌(samel2.0)。我无法继续如何使用此令牌访问我的服务(CRM 2016 web api)?
这是我得到的令牌:
任何帮助将不胜感激。
wcf - 使用颁发的令牌调用 WCF 服务
我尝试以下操作:
- WCF 客户端调用 STS 并获取 SAML 断言
- 客户端使用 SAML 断言调用服务
现在我已经将上述场景实现为三个 LinqPad 脚本:client.linq
、sts.linq
(自托管 WCF 服务)和service.linq
(自托管 WCF 服务)。它们都可以在https://github.com/codeape2/WCF_STS找到
我需要一些帮助才能让它工作。
使用以下代码client.linq
,我可以调用我的 STS 并获得 SAML 断言:
下一步,我使用以下代码(尝试)调用包含 SAML 断言的服务:
接下来会发生什么我完全不明白。我运行脚本时正在运行提琴手,这就是我所看到的:
- 第一个请求
/STS
(如预期) 结果
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/Issue
和RSTS/Issue
请求?/Service
- 我如何配置这些部分来做我想做的事,即向 STS 发送一个请求,然后向服务发送一个请求,传递我从 STS 获得的 SAML 断言。
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 服务。
C# windows 服务从 NFC 读卡器读取卡 UID。
Windows 服务通过提供卡 UID 从 ADFS 请求 JWT。这可以是 OAuth 或 WS-Trust,无论哪个有效。
ADFS 从机密数据库中查找卡 UID。数据库条目还包含用户名。然后它可以通过在 ADLDS 中查找域用户来进一步丰富这些数据。
ADFS 创建至少包含域用户名的令牌并将其发送回 C# windows 服务。无需用户与 ADFS 登录屏幕交互。
Windows 服务接收令牌并将其转发到预配置的 Web 应用程序登录处理程序。
Web 应用程序验证令牌签名并处理登录。
在这种情况下,凭证将仅是卡 UID。ADFS 可以做到这一点吗?如果没有,我的备份计划是直接在我的 Windows 服务中创建令牌。
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 协议中用作安全令牌时,我对这些协议的理解会变得混乱。
有兴趣了解这些协议在哪种情况下使用以及它们有何不同。如果不使用商业产品/技术参考,您的答案将很容易理解。
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 调用自身的服务?
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 以及端点。
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 命名空间的混合。
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 工具包或教程,那将是极大的帮助。
java - 如何为 WS-TRUST 实现出站网关?
我想为 WS-Trust 实现一个出站网关:
- 拦截所有出站 SOAP 消息
- 向 STS 发送 RST。
- 在调用外部服务之前,在消息的 SOAP 标头中包含响应 SAML 令牌。
我发现 WSO2 ESB 可以充当这样的网关。我想我可以实现一个 Java 类(使用 Apache Axis)来执行底层步骤(1-3)。然后我会让 ESB 调用这个 Java 类。你认为有可能吗?任何样本都会非常有帮助。
除了 WSO2 ESB,你还有什么建议吗?
非常感谢
java - 如何使用 Apache CXF 库使用 JAX-RS 创建 WS-Trust 客户端?
我搜索了很多文档并搜索了很多,以便找到如何WS-Trust client
使用 JAX-RS 创建一个使用Apache CXF library
?
Apache 文档清楚地提到它支持 WS-Trust 身份验证,但部分支持。
我的问题是如何使用 Apache CXF 库使用 JAX-RS 创建 WS-Trust 客户端?
我们是否有任何示例项目或良好的文档参考?