Есть ли способ перенести этот код WS-Trust на .NET Core? - PullRequest
0 голосов
/ 18 октября 2019

У меня есть какой-то устаревший код (.NET Framework), который я хочу перенести на .NET Core 2.1. Цель состоит в том, чтобы извлечь токен из STS, совместимой с WS-Trust, для выполнения вызовов к службам WCF.

Код будет эффективно выполняться на новом уровне веб-служб, который должен вписываться в середину существующих систем. ,Эти системы, возможно, не смогут быть изменены в широких пределах, поэтому я пытаюсь перенести как можно большую часть того, что уже существует.

Это будет выполняться в лямбда-функции AWS, следовательно, из-за ограничения .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);
...