【问题标题】:Authenticating to Revolut API对 Revolut API 进行身份验证
【发布时间】:2020-09-05 12:32:46
【问题描述】:

我正在尝试按照 Revolut 的教程对他们的 API 进行身份验证,但我一直在请求可重用的访问令牌。

到目前为止,我已经设法: 1.创建公钥/私钥 2.上传公钥 3. 用生成的client_id签署一个jwt 4.获取授权码

但我无法使用上述方法请求可重用的访问令牌。

根据这个page,我应该在https://b2b.revolut.com/api/1.0/auth/token 上创建一个带有以下正文的POST 请求:

{
    "grant_type": "authorization_code",
    "client_id": my_client_id,
    "code": my_authorisation_code,
    "client_assertion_type": "urn:ietf:params:oauth:client-assertion-type:jwt-bearer",
    "client_assertion": my_jwt
}

我在 Insomnia 中做过,但我一直收到此错误:

{
  "error": "invalid_client",
  "error_description": "client_id is missing"
}

在寻找答案时我偶然发现了这个answer,但我一直收到这个错误,即使我更改了client_id。

【问题讨论】:

    标签: node.js express insomnia


    【解决方案1】:

    原来正文不应该是 JSON,它应该是 url 编码的,像这样:

    grant_type=authorization_code&client_id=client_id&code=code&client_assertion_type=urn:ietf:params:oauth:client-assertion-type:jwt-bearer&client_assertion=jwt

    【讨论】:

    • 嘿拉杜!谢谢你的回答!我刚刚花了 6 个小时调试它,直到我到达这里。他们本可以在文档中提到这个奇怪的细节。
    • 嘿@DmitryOgurtsov,没问题,很高兴它有帮助,我知道调试的东西是多么令人沮丧。
    猜你喜欢
    • 2020-01-26
    • 1970-01-01
    • 1970-01-01
    • 2013-11-16
    • 2020-04-19
    • 2020-12-03
    • 2015-12-08
    • 2018-05-28
    • 1970-01-01
    相关资源
    最近更新 更多