Django oauth工具包是否可以仅使用客户端ID和密码ID登录?

时间:2019-07-07 21:40:14

标签: django rest oauth-2.0 django-rest-framework django-oauth

我必须通过REST来通信两个内部应用程序,而无需使用用户凭据。可以仅使用cliend_id和client_secret密钥进行身份验证吗?

如果OAuth无法做到这一点

先谢谢大家

1 个答案:

答案 0 :(得分:1)

  

是否可以仅使用cliend_id和client_secret进行身份验证   键?

不。客户端ID和客户端密钥仅标识项目/帐户。它们不标识用户或身份。

客户ID是公开的。客户机密必须是机密的。如果您将“客户机密”发送给其他服务,则它将不再是机密。但是,如果双方都由您控制并且安全,则可以将“客户端机密”用作密钥。但是,在这种情况下,您可以使用随机数生成器生成密钥,而不必担心OAuth客户端密钥。

对于服务到服务的授权,通常将使用HTTP authorization: bearer标头中包含的Signed JWT。

有许多技术,包括秘密密钥,加密数据等。技术的选择取决于问题中未包括的信息,例如处理器性能,安全性详细信息,所需的体系结构,密钥轮换,公共/私有密钥可用性等。