问题标签 [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.
c# - Web Service 问题内容类型 text/html 与绑定应用程序的内容类型不匹配/soap+xml
我正在使用 ADFS,服务器 URL 是:https://domainname/adfs/ls
当我使用 WSTrust 技巧在我的 .net 应用程序(框架 4.6)中使用它时,通过在解决方案中添加带有以下代码片段的 asmx 文件
现在每次我运行应用程序时,它都会在行显示以下错误消息
内容类型 text/html;响应消息的 charset=utf-8 与绑定的内容类型不匹配 (application/soap+xml; charset=utf-8)。如果使用自定义编码器,请确保正确实现 IsContentTypeSupported 方法。响应的前 1024 个字节是:'
堆栈跟踪:
服务器堆栈跟踪:在 System.ServiceModel.Channels.HttpChannelUtilities.ValidateRequestReplyResponse(HttpWebRequest request, HttpWebResponse response, HttpChannelFactory
1 factory, WebException responseException, ChannelBinding channelBinding) at System.ServiceModel.Channels.HttpChannelFactory
1.HttpRequestChannel.HttpChannelRequest.WaitForReply(TimeSpan timeout) at System.ServiceModel.Channels.RequestChannel.Request(Message message, TimeSpan timeout) at System.ServiceModel.Channels.SecurityChannelFactory`1.SecurityRequestChannel.Request(Message message, TimeSpan timeout) at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout) at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation) at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message) 在 [0] 处重新抛出异常:在 System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage( IMessage 请求消息,IMessage retMsg) 在 System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 类型) 在 System.ServiceModel.Security.IWSTrustContract.Issue(Message message) 在 System.ServiceModel.Security.WSTrustChannel.Issue(RequestSecurityToken rst, RequestSecurityTokenResponse& rstr) at System.ServiceModel.Security.WSTrustChannel.Issue(RequestSecurityToken rst) at methodname(parameters) 在上面的行中抛出错误上述行中方法名称(参数)处的问题(RequestSecurityToken rst)会引发错误上述行中方法名称(参数)处的问题(RequestSecurityToken rst)会引发错误
我不知道在哪里检查这个错误,我确实有服务器访问 adfs url 也不是从 IIS 托管的。
请帮我!提前致谢
c# - System.IdentityModel.Protocols.WSTrust 在 RequestSecurityToken 对象中指定 BinarySecurityToken
我正在尝试使用 .NET 中内置的 WStrust 对 STS 发出 SOAP 请求。问题是 STS 想要一个带有任意字符串的 BinarySecurityToken 放入令牌中。
这是我正在使用的 .NET 代码:
STS 希望消息如下所示:
有谁知道我如何构造一个令牌,以便将其转换为.NET 的对象?我需要指定 SOME_TYPE 和 ArbitraryString ...
c# - 验证 ADFS 帐户活动 C#
我想检查我的 ADFS 帐户在 C# 中是否仍处于活动状态。我请求一个 RST 令牌,我想用它来发布一个新令牌,如果失败,我想显示一条消息,表明他们的帐户被禁用。
问题是,如果我通过 WS-Trust usernamemixed 请求安全令牌并删除我使用安全令牌请求令牌的帐户仍处于活动状态以发布新令牌。
例如,是否有任何其他方法可以通过端点从 C# 验证 ADFS 帐户是否仍然处于活动状态。
.net - 解析和验证 WS 信任 XML 令牌
我有一个用 c#/.NET 编写的 Web 服务,它将未经身份验证的用户重定向到 WS Federation 身份提供者,然后使用具有该用户角色的 SAML 令牌重定向回我的 Web 服务。这是根据被动 WS 联合规范 - http://docs.oasis-open.org/wsfed/federation/v1.2/os/ws-federation-1.2-spec-os.html#_Toc223175008
得到这个后,我收到一个请求,其中 wresult 设置为令牌。在我的代码中,我有一个字符串 wresult,它是 xml 文档的字符串。我所知道的是我所在的领域、身份提供者的指纹、wctx(如果已发送)。
安全令牌是此处描述的标准 WS-Trust 令牌:http: //specs.xmlsoap.org/ws/2005/02/trust/WS-Trust.pdf
我想要得到的是SecurityToken,最终是那个用户的IPrincipal,只是来自那个字符串,它是XML 文档/安全令牌。
字符串的一个例子是(有一些东西被混淆了)。
我尝试过使用 WSFederationAuthenticationModule 等内置方法,但是,除非您使用 System.Web.Request,否则这似乎有问题。内置的 .NET/C# 函数会更好!
c# - 建立SecurityContext="False" 和negotiateServiceCredential="False" 的安全含义是什么
我们已经设置establishSecurityContext="False"
了negotiateServiceCredential="False"
一个wsHttpBinding
. 在每个 Web 服务调用都涉及连接和断开连接的设置中,这将每个 Web 服务调用的请求数从 5 个减少到 1 个,从而显着提高了性能。
客户端已配置为通过身份节点了解服务器身份:
这些设置的安全含义是什么?他们会以任何方式降低安全性吗?
java - ElementNSImpl 类型的对象以 com.sun.org.apache.xerces.internal.dom.ElementNSImpl 的形式出现
所以我部署在 JDK1.8.0_161 环境中的 WS-Trust 服务器期待一个包含 xml 类型节点的org.apache.xerces.dom.ElementNSImpl
请求,但是当请求到来时,节点是 type com.sun.org.apache.xerces.internal.dom.ElementNSImpl
,这不会让我不从请求中读取数据。我正在使用xerces:xercesImpl:2.11.0
库,但想知道 JDK 是否弄乱了服务器端的请求解析。目前我只看到rt.jar
包含com.sun.org.apache.xerces.internal.dom.ElementNSImpl
. 我错过了什么?有没有人看到这个错误?
java - WS-Trust 的命名空间问题
当我向 WS-Trust 端点发送请求时,我的请求包括 WS-Trust namespace http://docs.oasis-open.org/ws-sx/ws-trust/200512
,但 WS-Trust Endpoint 抛出错误
如果我使用 namespace ,它工作得很好http://docs.oasis-open.org/ws-sx/ws-trust/200512/
,但是我如何在我的 WS-Trust 端点上进行更改,以便它接受带有http://docs.oasis-open.org/ws-sx/ws-trust/200512
. 我检查了我的wsdl
,它的命名空间为http://docs.oasis-open.org/ws-sx/ws-trust/200512
.
xml - WS-Trust 1.3 规范与 xsd 的区别
我意识到 WS-Trust 1.4 规范所说的和验证它的 xsd 是有区别的。
声明规范的命名空间是:http ://docs.oasis-open.org/ws-sx/ws-trust/200512
但是 xsd 上的命名空间是:http ://docs.oasis-open.org/ws-sx/ws-trust/200512/
当我尝试验证使用 WS-Trust 规范形成的 xml 时,它给了我一个错误。
我正确地说 xsd 应该阅读http://docs.oasis-open.org/ws-sx/ws-trust/200512而不是http://docs.oasis-open.org/ws-sx/ws -信任/200512/?
参考:
- docs.oasis-open.org/ws-sx/ws-trust/200512/ws-trust-1.3-os.html
saml-2.0 - Shibboleth 3 Idp 使用 ws-fed
我们将 Shibboleth 3.4.4 作为 Azure 的 Idp,在登录门户时使用 SAML 可以完美运行。但是,当我们尝试将 Windows10 设备注册到 AAD 时,我们遇到的问题是,它只有在 Idp 能够说 ws-fed 和 ws-trust 的情况下才有效
我们找不到使这些协议与 shibboleth 一起工作的方法。
是否有任何教程或示例,或有人可以在任何地方使用的解决方法?
如果不可能使用 Shibboleth Idp,那么如果有人知道其他使用这些协议的免费 idp,那就太好了。
提前致谢!
c# - 有没有办法将此 WS-Trust 代码移植到 .NET Core?
我有一些想要移植到 .NET Core 2.1 的遗留代码(.NET 框架)。目的是从兼容 WS-Trust 的 STS 中检索令牌,以便调用 WCF 服务。
代码将有效地运行在需要适应现有系统中间的新 Web 服务层中。这些系统可能无法进行广泛修改,因此我试图尽可能多地继承已经存在的内容。
这将在 AWS Lambda 函数中运行,因此受到 .NET Core 约束。
我在网上查看过,但找不到任何可以清楚地解释如何完成的内容。
这是要移植的代码: