【问题标题】:MVC 4 OAuth: How to get e-mail addressMVC 4 OAuth:如何获取电子邮件地址
【发布时间】:2013-03-29 16:14:24
【问题描述】:

我正在开发一个 MVC 4 应用程序并使用 MS 提供的 OAuth 提供程序,但我想为每个用户获取一个电子邮件地址。对于 Google(默认)和 Facebook(使用 FacebookClient),我已经获得了用户地址,但是如何处理以下问题:

  • Twitter(我已经读过这是不可能的 - 仍然是真的?)
  • Microsoft - 已解决(参见 cmets)
  • 雅虎 - 作品(见评论)
  • LinkedIn - 通过自己的提供商解决,例如 MS

如果无法像 Twitter 那样通过 OAuth 实现呢?
我已经在不同的线程中阅读过,仅仅向用户询问它是不好/不安全的。如果我还需要通过电子邮件进行验证以实际使用地址(但不是一般的帐户),就像我(将)在更改地址时所做的那样,是否“足够安全”?

【问题讨论】:

  • 不是一个完整的答案,所以请在评论中注明:msdn.microsoft.com/en-us/library/hh243648.aspx#user
  • @WiktorZychla:感谢您的提示 - 一些后续搜索将我带到 mvcdiary.com/2013/03/01/…,这解决了 Microsoft 帐户的问题...
  • 刚刚发现,如果您有一个我以前没有的@yahoo.com 地址(只是一个雅虎帐户),那么雅虎可以“开箱即用”...
  • Twitter 仍然不返回电子邮件,afaik。

标签: c# asp.net-mvc asp.net-mvc-4 oauth


【解决方案1】:

OAuth 的目的不是提供电子邮件地址,而是以标准化的方式提供身份验证。仅仅因为许多实现也恰好为您提供了电子邮件地址的选项,并不意味着所有实现都必须遵守。 Twitter 就是一个很好的例子。

为什么询问用户的电子邮件地址不“安全”? 我会质疑,我的意思是,如果您不能信任用户输入的有关其电子邮件地址的信息,那么您可以信任他们什么呢?如果您使用某种确认邮件系统,那肯定没问题?

【讨论】:

  • “不安全”,以防用户输入无效的电子邮件地址,但是当 OAuth 提供者提供它时,我可以假设它是正确的(并且用户更容易不再次输入)。我已经确认了其他情况,但正如所说,这对用户来说并不容易......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-05-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2022-07-14
相关资源
最近更新 更多