我应该使用 oAuth(例如 LinkedIn 或 Twitter)作为我的应用程序的登录机制吗?似乎大多数应用程序只是使用 oAuth 将其他服务连接到它,但它们会让您在使用 oAuth(包括 StackOverflow)后设置自己的用户/密码,我不太确定这是为什么。会喜欢这里的一些见解。谢谢你。
5 回答
为什么不使用OpenId来允许人们登录您的应用程序,而无需输入任何特定的登录名/密码?
引用相应的维基百科条目:
OpenID 是一种开放的、分散的用户身份验证标准,可用于访问控制,允许用户使用相同的数字身份登录不同的服务,这些服务信任身份验证机构。
OpenID 取代了使用登录名和密码的常见登录过程,...
顺便说一句,这正是在stackoverflow上登录的方式;-)
OAuth 的目的不是通过您的站点验证您的用户,而是让您的用户允许您(oauth 消费者)访问他们在其他站点(oauth 提供者)中的受保护资源,例如 LinkedIn、Twitter、Google API 等。
对于身份验证,您应该使用其他人指出的 OpenId
Twitter 提供了一个使用 Twitter 登录的 OAuth 流,但如果它是您的服务的现有用户并且他们已经通过 Twitter 进行了身份验证,则会提供更快的重定向。
http://apiwiki.twitter.com/Sign-in-with-Twitter
如果您正在构建一个以 Twitter 为中心的应用程序,那么使用起来会很方便,并且您不必实现像 OpenID 这样的完整的替代身份验证方法。
如果您让用户同时使用 Twitter 和 LinkedIn 进行身份验证,请小心,因为用户会无意中创建两个帐户并需要将它们合并。
Linkedin only has OAuth for usage to its API. It will also depend on what type of language you are writing your webapp in, they should have premade wrapper libraries you could tap on to.
Facebook 和 Twitter 都具有“使用 Facebook/Twitter 登录”API,以实际允许用户登录,而无需为您的网站创建帐户。它们都将返回一个可能(或可能不会)过期的有效会话。因此,您实际上不必要求用户决定用户名/密码,因为您可以从 API 中获取两者(但在使用 Twitter 时您无法获取用户的电子邮件地址)
那么为什么要将这些功能添加到您的网站呢?
用户通常更有可能点击“使用...登录”按钮,而不是完成整个邮件地址授权过程并输入他们的姓名等...