【问题标题】:ASP.NET Core Authenticating Clients (Console/WPF)ASP.NET Core 身份验证客户端(控制台/WPF)
【发布时间】:2016-07-11 12:42:25
【问题描述】:

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

我已经使用 Identity/EF Coo​​kieAuthentication 构建了一个 ASP.NET Core MVC/API 解决方案。有了这个,我可以在我的 MVC 中登录/注销并为用户设置声明/角色。

我有一个 WPF 客户端,我也想对其进行身份验证并连接到我的 API。到目前为止,我已经尝试使用 HttpClient 以与在 ASP.NET 中相同的方式登录 - 带有凭据的 SignInManager。但是我如何将这个 session/cookie/token 持久化到 wpf 客户端,以便将来的 HttpRequests 将通过内置的 Identity 进行身份验证?

【问题讨论】:

标签: c# asp.net-core asp.net-identity asp.net-core-mvc dotnet-httpclient


【解决方案1】:

您是否尝试过派生自己的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;
    }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-02-09
    • 2020-03-03
    • 1970-01-01
    • 2016-07-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多