如果我错了,请纠正我:
关于与其帐户关联的用户电子邮件地址...
- 您可以请求并接收来自 openID 提供商(即 Google、Yahoo!、AOL)的电子邮件地址等)。
- 您无法从OAuth提供商(即Twitter、LinkedIn等)获取电子邮件地址。
- 您可以通过 OAuth 接收来自 Facebook 的电子邮件地址。
如果我错了,并且有办法通过OAuth获取电子邮件地址,请描述一个简单的方法。
最佳答案
嗯,你所描述的几乎是正确的。这取决于你想要什么,Oauth 和 Open-id 协议(protocol)都提供了一种身份验证方法,但 Oauth 提供了细粒度的控制。
基本上,您可以使用 Oauth 从 Google/Yahoo/Window
Live 获取电子邮件地址,根据您的分析,Twitter 和 LinkedIn 模型都没有选项返回与用户关联的电子邮件。
但是您需要清楚地了解两者之间的不同之处,因为这将使您的案例清楚所提供的内容
- 两者都适用于安全、身份和授权领域。
- 遵循权力下放原则。
使用 Open ID,不会有两个网络应用程序共享您的数据的建议。除了在非常有限的意义上,开放 ID 提供商可能保存一些有关您的一般信息。但这是通用数据。
OAuth
可让您授权
一个网站(消费者
)从另一网站访问您的数据
简而言之,OpenId 是粗粒度的,而 OAuth 是更细粒度的。Oauth 通过要求用户向请求访问的一方提供对数据的访问权限来提供一定程度的安全性,现在由用户来允许或拒绝而使用 Open_id 时,通用数据将可用。
所以选择权就在你手中。
关于php - 通过社交登录方法获取电子邮件地址,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8352185/