SSL证书如何与Oauth2客户端凭据授予类型配合使用



我正在尝试理解oauth2.0的客户端凭据授予类型和SSL证书的概念。

这是我的场景:

  1. 我有一个网络应用程序,它将调用ABC的API
  2. XYZ给了我一个客户ID和客户机密
  3. 首先,我打电话给XYZ,并向他们发送客户端ID和客户端机密,以便生成访问令牌
  4. 接下来,我将这个访问令牌传递给ABC的API。但是,我还必须在请求中提供SSL证书

第4部分是我感到困惑的地方。我想,当XYZ给我一个客户机密和客户ID时,这验证了我可以访问ABC的API(从而验证访问令牌的用途(?为什么我仍然需要提供SSL证书才能访问ABC的API?

我对SSL证书的理解是,它证明了我的网络应用程序实际上是我的网络程序。但这难道不是我通过XYZ和oauth2.0的客户端凭据授予类型收到的访问令牌的目的吗?或者这仅仅取决于实现(即,ABC决定需要两次身份验证…?(

我是oauth2.0和SSL证书的新手,所以如果我的理解不正确,请原谅。

最近不得不处理类似的事情,意外发现了您的问题。

这是一个额外的安全层。例如,在欧盟,在网上银行的背景下,这是监管的一部分。例如,您可以查看Revolut APIhttps://developer.revolut.com/docs/guides/manage-accounts/get-started/make-your-first-api-request/。例如,您必须组合以下信息:加密算法、令牌类型、您的域、客户端id、审核URL、过期等

证书的私钥被编码在JWT令牌中,这个过程称为客户端断言。许多OAuth2身份验证服务使用类似的机制,尤其是在处理敏感数据时,比如在银行业务中。服务器使用它来验证你的身份,并确保没有人窃取你的秘密。

相关内容

最新更新