Ich versuche, ein externes Login-Schema für Facebook, Google und Linkedin ohne Verwendung von Identitäts-Framework zu erstellen. Ich habe eine API, die alle Benutzer speichert und einige Authentifizierungstools durchführt. Im Moment bin ich irgendwie verloren, wie ich die Informationen vom externen Login bekommen kann.Externe Anmeldung ohne Verwendung der Identität asp.net core 2.0
Ich stelle eine Herausforderung wie diese.
[HttpPost]
[ValidateAntiForgeryToken]
public IActionResult ExternalLogin(string provider)
{
//Issue a challenge to external login middleware to trigger sign in process
return new ChallengeResult(provider);
}
Das funktioniert gut, es leitet mich zu Google, Facebook oder Linkedinn-Authentifizierung.
nun auf diesem Teil:
public async Task<IActionResult> ExternalLoginCallback()
{
//Extract info from externa; login
return Redirect("/");
}
Alles, was ich will, ist die Information zu erhalten, die durch die externe Login zur Verfügung gestellt wurde.
ich versucht habe, was ich aus meiner Forschung gefunden,
var result = await HttpContext.AuthenticateAsync(provider);
if (result?.Succeeded != true)
{
return Redirect("/");
}
var externalUser = result.Principal;
var claims = externalUser.Claims.ToList();
Zunächst einmal ich ich bin nicht sicher, ob eine einfache ?provider=Google
auf meinem Rückruf String wird die Provider-Namen gebe ich angeben, so kann es verwendet werden um das Anmeldeverfahren zu überprüfen. Ich denke, das ist falsch. Zweitens habe ich versucht, Codieren await HttpContext.AuthenticateAsync("Google")
und wenn es diesen Code erreichen, stoppt das Debuggen. Ich bin mir nicht sicher warum.
Ich habe den generierten Code beim Erstellen eines Projekts mit Einzelauthentifizierung gesehen.
var info = await _signInManager.GetExternalLoginInfoAsync();
Leider bin ich Identität nicht nutzen können, da ich eine API keinen Benutzerspeicher und meine Anwendung haben verbrauchen.
Hey hast du jemals eine Lösung finden? Kann keine Dokumentation oder Beispiele dafür finden, wie Sie dies ohne asp.net Identität tun können ... :( – Reft