VS 2015でデフォルトのMVCテンプレートを使用してOWIN外部認証を使用する方法を学習しています。Facebookの認証を有効にし、スコープ「電子メール」を追加しました。ユーザが認証された後(thisによる)。それでも、コンテキスト内に電子メールはありません.User JSONオブジェクトとcontext.Emailもnullです。OWINのログイン時にFacebookのメールを取得する
これが欠けているもの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);
任意のアイデアですか?なぜFacebookの電子メールアドレスが返されないのですか?
ここに潜在的に有用な情報します。http: //stackoverflow.com/a/32636149/3130094 –
ありがとう@JamieDunstan - それは役に立ちました! – Andrey