2

我有一些想要移植到 .NET Core 2.1 的遗留代码(.NET 框架)。目的是从兼容 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);
4

0 回答 0