我有一个API。假设它允许用户在排行榜上更新他们的分数。这使用OAuth2。
代表用户使用OAuth2的客户端有32个字符ID和密码。
我也有一些资源是" public"而不是由用户拥有。说获得整体排行榜。
我希望客户能够通过API访问它们。但是,这些客户端可能不是用户(其他网站称),并且实施OAuth流程似乎过于复杂。但是,我也希望客户能够识别自己,以便跟踪谁使用它,并在必要时实施费率检查。
OAuth2中是否有允许这样做的内容? client_credentials适用于受信任的客户端'而这些不会是这样的。
或者,我是否对这些端点使用不同形式的身份验证,以便客户端执行授权:令牌[CLIENT_ID]而不是授权:承载[OAUTH2_TOKEN]?
答案 0 :(得分:0)
对于未受保护的资源,您可以将这些资源放在互联网上,而无需任何OAuth保护。
但是,如果您这样做,则无法真正信任客户端发送给您的信息。因此,它取决于验证他们发送的客户端ID的重要性。
如果是为了限制,这可能足以证明通过OAuth运行,所以有人不会谎称他们的客户ID并偷走别人的带宽。但这是一个判断电话。
如果你需要信任他们发送的信息,即使它只是一个标识符,那么你最好让他们发送他们的访问令牌,而不是提出一个特殊的协议&定义另一个令牌。
或者只是信任他们发送的ID。