我应该使用oAuth(例如LinkedIn或Twitter)作为我的应用程序的登录机制吗?似乎大多数应用程序只是使用oAuth将其他服务连接到它,但它们会让您在使用oAuth(包括StackOverflow)后设置自己的用户/密码,而我不确定为什么会这样。会喜欢这里的一些见解。谢谢。
答案 0 :(得分:2)
为什么不使用 OpenId 来允许用户登录您的应用,而无需输入任何特定的登录名/密码?
引用相应的维基百科条目:
OpenID是一个开放的,分散的 用于验证用户的标准 可用于访问控制, 允许用户登录到不同的 具有相同数字的服务 这些服务信任的身份 认证机构。
的OpenID 替换常见的登录过程 使用登录名和密码, ...
顺便说一句,这正是一个登录stackoverflow的方式; - )
答案 1 :(得分:2)
OAuth的目的不是通过您的网站验证您的用户,让您的用户允许您(oauth消费者)访问其他网站(oauth提供商)中受保护的资源,例如LinkedIn,Twitter,Google API等。
对于身份验证,您应该使用OpenId,因为others已指向
答案 2 :(得分:1)
Twitter提供登录Twitter流程即OAuth,但如果它是您服务的现有用户并且已经通过Twitter进行身份验证,则会提供更快的重定向。
http://apiwiki.twitter.com/Sign-in-with-Twitter
如果您正在构建一个以Twitter为中心的应用程序,那么从那以后就可以使用很多,并且您不必实现像OpenID这样的整个备用身份验证方法。
如果您让用户同时使用Twitter和LinkedIn进行身份验证,请务必小心,因为用户会无意中创建两个帐户并需要将其合并。
答案 3 :(得分:0)
Facebook和Twitter都有“使用Facebook / Twitter登录”API,实际上允许用户登录而无需为您的网站创建帐户。它们都会返回一个可能(或可能不会)到期的有效会话。因此,您实际上不必要求用户决定用户名/密码,因为您可以从API中获取这两者(尽管使用Twitter时无法获取用户的电子邮件地址)
为什么要将这些功能添加到您的网站?
用户通常更有可能点击“使用...登录”按钮,而不是通过整个邮件地址授权流程并输入他们的姓名等等。
答案 4 :(得分:0)
Linkedin仅对其API使用OAuth。它还取决于您编写Web应用程序的语言类型,它们应该具有您可以使用的预制包装库。