重构现有的Web API - 我应该使用OAuth吗?

时间:2014-10-22 17:16:40

标签: asp.net-web-api oauth oauth-2.0

MVC WebAPI OAuth上的大多数文章都假设有一些资源所有者(比如一个人)将授权发布数据。在我们的例子中,数据是公开的,如产品销售或部门名称等.API只是隐藏了对创建日期,活动用户等事情的不必要/恶意访问 - 当然也保存了前端开发人员学习数据库模式

OAuth是否适合没有特定所有者的情况?

2 个答案:

答案 0 :(得分:0)

  

OAuth是否适合没有特定所有者的情况?

是的。

当然,OAuth规范的主要重点是保护资源所有者拥有的资源,但它当然也可以保护其他资源。以Facebook为例:它不仅可以保护您的数据,还可以保护您可以访问的朋友的数据。

在您的情况下,您需要保护这些字段,对于具有授权应用程序访问这些字段的必要权限的用户,OAuth是一种很好的机制。没有必要权利的用户(如果这些用户完全是注册用户)当然不能这样做。

此外,用户通常拥有一种资源:用户的个人资料数据。

OAuth 2.0是目前可用于保护Web API的最佳协议。

答案 1 :(得分:0)

如果您允许任何人(=任何客户端应用程序)访问您的API而没有任何限制,则您不必关心OAuth。

另一方面,如果您只允许从事先注册的客户端应用程序进行访问,则RFC 6749(OAuth 2.0)中的“Client Credentials Flow”可能是最适合您的。该流不会将访问令牌与任何特定资源所有者相关联。仅基于客户端应用程序的客户端凭据(=客户端ID和客户端密钥)发出访问令牌。