OAuth2:保护非用户资源

时间:2015-12-02 17:43:52

标签: api rest oauth-2.0

我有一个API。假设它允许用户在排行榜上更新他们的分数。这使用OAuth2。

代表用户使用OAuth2的客户端有32个字符ID和密码。

我也有一些资源是" public"而不是由用户拥有。说获得整体排行榜。

我希望客户能够通过API访问它们。但是,这些客户端可能不是用户(其他网站称),并且实施OAuth流程似乎过于复杂。但是,我也希望客户能够识别自己,以便跟踪谁使用它,并在必要时实施费率检查。

OAuth2中是否有允许这样做的内容? client_credentials适用于受信任的客户端'而这些不会是这样的。

或者,我是否对这些端点使用不同形式的身份验证,以便客户端执行授权:令牌[CLIENT_ID]而不是授权:承载[OAUTH2_TOKEN]?

1 个答案:

答案 0 :(得分:0)

对于未受保护的资源,您可以将这些资源放在互联网上,而无需任何OAuth保护。

但是,如果您这样做,则无法真正信任客户端发送给您的信息。因此,它取决于验证他们发送的客户端ID的重要性。

如果是为了限制,这可能足以证明通过OAuth运行,所以有人不会谎称他们的客户ID并偷走别人的带宽。但这是一个判断电话。

如果你需要信任他们发送的信息,即使它只是一个标识符,那么你最好让他们发送他们的访问令牌,而不是提出一个特殊的协议&定义另一个令牌。

或者只是信任他们发送的ID。