在oauth 2.0中了解客户端ID,客户端密钥的需求

时间:2015-12-16 13:02:05

标签: security oauth oauth-2.0 access-token

我有一个网站,要求用户通过提供他们的电子邮件和密码来登录以获取访问令牌,其中访问令牌令牌用于访问api。

然后,用户可以使用访问令牌提供的范围获得读/写访问权限。

所以,我想在这里理解的是,客户端ID和客户端秘密在这种情况下扮演什么角色,以及实现客户端ID和客户端秘密提供的好处是什么?因为我真的没有看到实现客户端ID和客户端密钥的需要,因为用户可能只是使用访问令牌来获得访问权限。

2 个答案:

答案 0 :(得分:2)

如果没有它们可以实现您想要的目标,则无需发出客户端ID。例如,如果您有权直接处理电子邮件(用户ID)和密码,则不需要客户端ID。

通常,仅当您希望允许(第三方)客户端应用程序以受限制的权限访问(您的服务)用户数据时,才需要客户端ID。在这种情况下,每个客户端应用程序必须由用户授权。因此,您的系统将需要客户端ID来了解用户已授予权限的客户端应用程序。

答案 1 :(得分:0)

通过使用客户端ID / secret,您可以控制允许哪些客户端连接到您的API并做出诸如限制它们或阻止它们的决策。这是例如Twitter可以确保不允许其他Twitter客户端拥有超过100,000个用户。