我正在尝试了解实现oAuth作为服务提供商的用例。似乎实现oAuth服务是很多工作,所以我不想经历麻烦只是为了发现我正在咆哮错误的树。这些用例的任何例子都可以帮助我解决使用或不使用oAuth的问题?
这个问题与我提出的另一个问题有关,但它们应该是单独的问题。我在这里详细介绍了我的具体用例:
答案 0 :(得分:7)
当您要为多个服务提供单点身份验证,或者您希望将应用程序与现有身份验证服务集成时,通常会使用OAuth;例如,如果您希望您的用户使用他们的Twitter帐户信息登录。
根据我的经验,我唯一有理由实施OAuth身份验证服务的原因是因为我们在不同服务器上的不同平台(JBoss,LAMP和ASP.NET)上运行了3个非常不同的应用程序。为了补偿不同的数据库和不同的技术,我们确定了一个OAuth实现和集中身份验证。它还提供了一种在服务器之间保护用户信息的绝佳方法;数据在OAuth服务器和客户端之间加密,使其更难以危害。
这实际上取决于你想要做什么。如果您只是在谈论一个应用程序,那么OAuth肯定太快了。如果您正在谈论使用相同技术运行的一些应用程序,那么您可能需要或不必使用OAuth;您可以使用现有数据存储进行身份验证。如果您希望扩展到多个系统,或者您正在考虑实施单一登录类型的服务,那么OAuth绝对是一个考虑因素。
答案 1 :(得分:2)
OAuth有一些事情要做:
1)OAuth是一个相当着名的标准,这意味着它有相当多的可用信息,各种语言和平台的代码库等。这可能是 重要的方面,如果你想广泛采用你的网站/服务(推特,FB等)
2)从安全角度对OAuth进行了合理的验证,因此您不必担心(太多)它是否在概念上合理。你的实施当然是另一回事......
3)正如其他人所提到的,OAuth非常适合分布式/联合方案。这允许您外包身份验证职责(例如,Microsoft的Azure可以代表您执行OAuth身份验证)和/或跨多个服务共享凭据。
希望这有帮助!