ASP.NET 核心身份验证客户端(控制台/WPF)

本文关键字:控制台 WPF 客户端 NET 核心 身份验证 ASP | 更新日期: 2023-09-27 17:56:15

我已经广泛搜索了一个有效的(简单)解决方案 asp.net 最新的核心身份验证。如果我错过了它并且有人已经提供了解决方案,我很抱歉,但问题是:

我已经建立了一个带有Identity/EF CookieAuthentication的 ASP.NET 核心MVC/API解决方案。有了这个,我可以登录/注销我的 MVC 并为用户设置声明/角色。

我有一个 WPF 客户端,我也想对其进行身份验证并连接到我的 API。到目前为止,我已经尝试使用HttpClient以与 ASP.NET 相同的方式登录 - 使用凭据登录管理器。但是,如何将此会话/cookie/令牌保存到 wpf 客户端,以便将来的 HttpRequest 将通过内置标识进行身份验证?

ASP.NET 核心身份验证客户端(控制台/WPF)

您是否尝试过派生自己的WebClient

public class MyClient : WebClient
{
    private readonly CookieContainer _container = new CookieContainer();
    protected override WebRequest GetWebRequest(Uri address)
    {
        HttpWebRequest request = (HttpWebRequest)base.GetWebRequest(address);
        if (request == null)
            throw new InvalidOperationException("request == null");
        request.AutomaticDecompression = DecompressionMethods.GZip | DecompressionMethods.Deflate;
        request.CookieContainer = this._container;
        ... // Add Required Cookies Here?
        Uri target = new Uri("http://example.com");
        this._container.Add(new Cookie("_spc", "aefec0ba-dc10-23e5-46f1-6b6e50c8837e") { Domain = target.Host }); 
        return request;
    }
}