1

Ich habe weit und breit für eine funktionierende (einfache) Lösung zur Authentifizierung in asp.net Core, die auf dem neuesten Stand ist gesucht. Es tut mir leid, wenn ich es verpasst habe und jemand die Lösung bereits bereitgestellt hat, aber hier kommt die Frage:ASP.NET Core Authentifizierung von Clients (Console/WPF)

Ich habe eine ASP.NET Core MVC/API-Lösung mit Identity/EF CookieAuthentication gebaut. Damit kann ich mich in meinem MVC an- und abmelden und Ansprüche/Rollen für den Benutzer festlegen.

Ich habe einen WPF-Client, den ich auch authentifizieren möchte, und verbinde mich mit meiner API. Bisher habe ich versucht, HttpClient zu verwenden, um mich auf die gleiche Weise wie in ASP.NET - SignInManager mit Anmeldeinformationen zu anmelden. Aber wie behalte ich diese Session/Cookie/Token auf dem WPF-Client, so dass zukünftige HttpRequests durch die eingebaute Identität authentifiziert werden?

+0

hallo abzuleiten, sorry einen Link nur zu schreiben, aber ich glaube wirklich, das Sie https://github.com/blowdart/AspNetAuthorizationWorkshop helfen könnte es nur könnte decken ASP.NET though, was ich glaube nicht, ist ganz was du willst. – Jim

Antwort

0

Haben Sie versucht, Ihren eigenen 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; 
    } 
}