Как получить электронную почту из социальной сети (Identity Framework)

1

Что у меня есть: приложение ASP.NET WebAPI с фреймворком Identity.

Что я хочу: используйте twitter и facebook для регистрации и авторизации.

В чем проблема: система идентификации не запрашивает электронную почту и другую личную информацию. Он возвращает только имя пользователя.

Благодарю.

  • 2
    Что вы не читали : FAQ , Как спросить
  • 0
    Обратите внимание, что твиттер не предоставляет адрес электронной почты через OAuth. Фейсбук и гугл делают, но не твиттер.
Теги:
asp.net-mvc
asp.net-web-api
asp.net-identity

2 ответа

1
Лучший ответ

Идентификация использует OAuth.

Twitter:

API не вернет вам адрес электронной почты. Если вас интересует адрес электронной почты пользователя, вы должны попросить пользователя его в своем собственном приложении как совершенно отличный акт.

Google+:

Как получить электронную почту от пользователя google plus oauth

facebook:

Получить дополнительные данные из структуры MVC5. Поставщик идентификации OAuth/OWin с внешним поставщиком авторизации

1

В файле Startup.Auth.cs перед этим блоком кода,

app.UseFacebookAuthentication(facebookAuthenticationOptions);

вы должны добавить

facebookAuthenticationOptions.Scope.Add("email");
  • 0
    Затем, чтобы получить электронное письмо, после проверки подлинности проверьте претензию электронной почты из файла cookie утверждений.
  • 1
    Однако учтите, что даже при добавлении этой области, если целевой пользователь не поделится своей электронной почтой (настройками FB), среда не сможет ее получить.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню