我有一些旧代码(.NET框架),我想移植到.NET Core 2.1。目的是从与WS-Trust兼容的STS中检索令牌,以便调用WCF服务。
该代码将有效地运行在需要适合现有系统中间的新Web服务层中。这些系统可能无法进行广泛的修改,因此,为什么我尝试继承尽可能多的现有系统。
这将在AWS Lambda函数中运行,因此会受到.NET Core约束。
我已经看过网上了,但是找不到任何能清楚说明该怎么做的东西。
这是要移植的代码:
var factory = new WSTrustChannelFactory("stsEndpoint") { TrustVersion = TrustVersion.WSTrust13 };
var channel = factory.CreateChannel();
var rst = new RequestSecurityToken
{
RequestType = WSTrust13Constants.RequestTypes.Issue,
AppliesTo = new EndpointAddress("endpoint"),
Context = "context",
};
rst.Claims.Dialect = "http://docs.oasis-open.org/wsfed/authorization/200706/authclaims";
rst.Claims.Add(new RequestClaim("http://schemas.microsoft.com/ws/2008/06/identity/claims/role", true, "principal"));
rst.Claims.Add(new RequestClaim("request", true, id));
var token = channel.Issue(rst, out RequestSecurityTokenResponse rstr);