本文介绍了.NET Core 3.0 WCF传递安全令牌的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我可以生成SecurityToken,但在创建频道时无法传递它。
在.NET框架4.8中我可以这样做
Var代理=factory.CreateChannelWithIssuedToken(securityToken);但我在.Net Core中找不到替代方案,我查看了反编译的源代码,
我通过创建POCO";FederatedClientCredentialsParameters";进行了尝试,但也不起作用。
var proxy = factory.CreateChannel(); IClientChannel clientChannel = (IClientChannel) proxy; clientChannel.GetProperty<ChannelParameterCollection>().Add(new FederatedClientCredentialsParameters() { IssuedSecurityToken = token });我尝试过设置factory.endpoint行为,但找不到可以插入安全令牌的方法。大多数答案似乎都与用户名和密码的客户端凭据有关,但与基于WS信任的安全令牌无关。
Wcf目前内核对推荐答案的支持非常有限。为了在core中使用WCF,core提供了以下支持WCF的包:
这些包提供的功能也非常有限。许多WCF函数不能在核心中使用。您可以在.Net框架中传递安全令牌,但核心不支持您这样做。
我的建议是使用.Net框架,您也可以考虑使用自定义绑定和自定义凭据。有关CORE对WCF的支持的更多信息,请参阅此链接:
github/dotnet/wcf/tree/master/src
如果问题仍然存在,请随时通知我。
更多推荐
.NET Core 3.0 WCF传递安全令牌
发布评论