好的,在这里读了这么多关于OpenId和OAuth的QA(像这样,我希望我能理解两者之间的区别。我看到有人推荐OpenId进行身份验证(证明身份),OAuth进行授权(比如推特或在fb-wall上发布一些东西,等等)。
但我的问题是,使用Facebook/Twitter OAuth对网站进行身份验证怎么样?就像SO本身使用Facebook登录作为用户身份的方式一样。我想听听其他人对使用旨在授权使用的东西进行身份验证的看法。人们可能想这样做的原因与使用Open Id相同,即简化新用户的注册过程。
PS:如果我仍然混淆了OpenID/OAuth的使用,请纠正我。
据我所见,您没有混淆任何东西。OpenID确实是身份验证的规范,oAuth确实主要旨在解决授权问题。
话虽如此。您也可以使用oAuth进行身份验证。没有什么能阻止你那样做。我肯定会利用这一点。
使用oAuth进行身份验证的唯一缺点是,您可能希望提供商严格执行其访问令牌允许您执行的操作。我的意思是,当您对推特用户进行身份验证时,您还可以执行推特API允许您执行的所有其他操作(基本上就是所有操作)。Facebook可能更具限制性,认证应用程序只能被授予API功能的一个子集。
OpenID可以进行身份识别,我很喜欢它。但我很乐意在一周中的任何一天使用oAuth来实现同样的目的。