Ich lerne, wie man mit OWIN externe Authentifizierung mit dem Standard-MVC-Vorlage in VS 2015 zu arbeiten. Ich habe Facebook Auth aktiviert und den Bereich "E-Mail" hinzugefügt, in der Erwartung der Benutzer E-Mail von Facebook zurückgegeben werden nachdem der Benutzer authentifiziert wurde (gemäß this). Dennoch befindet sich keine E-Mail im Kontext. Benutzer-JSON-Objekt und context.Email sind ebenfalls null.Abrufen von Benutzern Facebook-E-Mail auf OWIN Login
Dies wird der entsprechende Code in Startup.Auth.cs
var facebookOptions = new FacebookAuthenticationOptions
{
AppId = "XXXXXX",
AppSecret = "XXXXXX",
Provider = new FacebookAuthenticationProvider
{
OnAuthenticated = context =>
{
// Retrieve the OAuth access token to store for subsequent API calls
var accessToken = context.AccessToken;
// Retrieve the username
var facebookUserName = context.UserName;
// WHY IS IT EMPTY?
var facebookEmail = context.Email;
// You can even retrieve the full JSON-serialized user
var serializedUser = context.User;
return Task.FromResult(0);
}
}
};
facebookOptions.Scope.Add("email");
app.UseFacebookAuthentication(facebookOptions);
Irgendwelche Ideen, was fehlt? Warum wird die Facebook-E-Mail-Adresse nicht zurückgegeben?
Potenziell nützlichen Informationen hier: http: //stackoverflow.com/a/32636149/3130094 –
Danke @JamieDunstan - das war hilfreich! – Andrey