2013-04-07 114 views
5

我正在开发一个MVC 4应用程序并使用MS提供的OAuth提供程序,但我想为每个用户都获取一个电子邮件地址。对于谷歌(默认)和Facebook(使用FacebookClient)我已经得到了用户的地址,但怎样做以下几点:MVC 4 OAuth:如何获取电子邮件地址

  • 的Twitter(我读这是不可能的 - 仍然如此?)
  • 微软 - 解决(见注释)
  • 雅虎 - 工程(见注释)
  • LinkedIn - 通过自己的供应商解决了像MS

那么,当它不可能通过OAuth与Twitter一样?
我读过不同的线程,只是询问用户是不是很好/安全。如果我还需要通过电子邮件进行验证以实际使用地址(但不是通常的帐户),那么它是否“足够安全”,因为我将在更改地址时使用该地址?

+0

不是一个完整的答案,所以它有一个评论:http://msdn.microsoft.com/en-us/library/hh243648.aspx#user – 2013-04-07 16:19:44

+0

@WiktorZychla:感谢您的提示 - 一些后续搜索带给我to http://mvcdiary.com/2013/03/01/how-oauthsecurity-to-obtain-emails-for-different-oauth-clients-but-microsoft-client-doesnt-return-email-it-didnt-include -scope-wl-emails /它解决了微软账户的问题... – ChrFin 2013-04-07 20:18:42

+0

刚发现,雅虎工作“开箱即用”如果你有@ yahoo.com地址,我以前没有(只是一个雅虎帐户)... – ChrFin 2013-04-08 19:30:16

回答

1

OAuth的目的不是提供电子邮件地址,它以标准化的方式提供身份验证。仅仅因为很多实现也会让你选择一个电子邮件地址并不意味着它们都必须遵守。 Twitter就是一个例子。

为什么会询问用户的电子邮件地址不是“安全的”? 我会质疑的,我的意思是,如果你不能相信用户对他们的电子邮件地址的输入,你可以信任他们什么?如果你使用某种确认邮件系统,它肯定会好起来的?

+3

如果用户可以输入无效的电子邮件地址,则“不安全”,但当OAuth提供商提供该地址时,我可以认为它是正确的(并且用户更容易再次输入)。我已经对其他案件进行了确认,但据说对用户来说这并不容易...... – ChrFin 2013-09-06 09:05:53

相关问题