jwt - 连接到 Revolut 沙箱
问题描述
我正在尝试创建与 Revolut 的客户端连接。我正在关注他们的教程,但是我被困在Exchange Authorization Code上。
到目前为止我做了什么:
- 在他们的sanbox上创建了企业帐户
- 在此处添加了我的公钥https://sandbox-business.revolut.com/settings/api
- 通过启用 API 访问您的帐户激活了我的 API 证书(我完成了所有步骤并获得了现在启用访问的信息),但是我仍然可以
Access is not enabled
在我的 API 证书上看到 - 创建 JWT 令牌并使用我的私钥对其进行签名(使用https://jwt.io/对其进行验证)
像这样发送访问令牌请求(通过邮递员完成):
curl --request POST \ --url https://sandbox-b2b.revolut.com/api/1.0/auth/token \ --header 'Accept: */*' \ --header 'Accept-Encoding: gzip, deflate' \ --header 'Cache-Control: no-cache' \ --header 'Connection: keep-alive' \ --header 'Content-Length: 596' \ --header 'Content-Type: application/x-www-form-urlencoded' \ --header 'Host: sandbox-b2b.revolut.com' \ --header 'User-Agent: PostmanRuntime/7.20.1' \ --header 'cache-control: no-cache' \ --data 'grant_type=authorization_code&code=oa_sand_xxx&client_id=xxx&client_assertion_type=xxx&client_assertion=xxx
然而回应是:
{
"error": "unauthorized_client",
"error_description": "Incorrect request token"
}
现在我不确定在请求访问令牌时我做错了什么,还是由于第 3 步,我的 API 证书的激活似乎很顺利,但后来我看到它没有激活。您能否验证我的步骤以帮助我确定问题出在哪里?
解决方案
原来授权码仅在 2 分钟内有效,在那之后您必须请求另一个。
推荐阅读
- javascript - AJAX - 从另一个 html 文件中获取特定的 DOM 元素?
- javascript - Javascript,将我的字符串作为参数传递将其变为 0
- java - 使用 JDK 11 在 Mac 上打开 .jar 文件失败并出现 RuntimeException
- python - 通过类内的 For 循环使用 linspace 进行迭代
- javascript - 没有得到 Angular 控制器的响应
- c++ - 某些 C++ 类的代码会意外覆盖另一个类的私有静态变量吗?
- javascript - 如何将 javascript + jquery 转换为统一 csharp?
- ios - Swift:从 _PFEncodedString 转换为 String(使用 JSONEncoder 导出核心数据属性)
- python - Python argparser 无法识别
- c - 为什么添加 send() 调用会使之前的 send() 调用失败?