Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/38.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 对RevoluteAPI进行身份验证_Node.js_Express_Insomnia - Fatal编程技术网

Node.js 对RevoluteAPI进行身份验证

Node.js 对RevoluteAPI进行身份验证,node.js,express,insomnia,Node.js,Express,Insomnia,我正试图按照Revolute的教程对他们的API进行身份验证,我一直在请求一个可重用的访问令牌 到目前为止,我已设法: 1.创建公钥/私钥 2.上载公钥 3.使用生成的客户端id对jwt进行签名 4.获取授权代码 但我无法使用上述方法请求可重用访问令牌 根据这个,我应该在https://b2b.revolut.com/api/1.0/auth/token具有以下主体: { "grant_type": "authorization_code", "client_id": my_cl

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

到目前为止,我已设法: 1.创建公钥/私钥 2.上载公钥 3.使用生成的客户端id对jwt进行签名 4.获取授权代码

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

根据这个,我应该在
https://b2b.revolut.com/api/1.0/auth/token
具有以下主体:

{
    "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
}
我在失眠症中也曾这样做过,但我一直犯这样的错误:

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

在寻找答案时,我偶然发现了这个问题,但我一直都会遇到这个错误,即使在我更改了客户端id之后。

结果表明,主体不应该是JSON,它应该是url编码的,如下所示:


grant\u type=authorization\u code&client\u id=client\u id&code=code&client\u assertion\u type=urn:ietf:params:oauth:client assertion type:jwt bearer&client\u assertion=jwt

嘿,Radu!谢谢你的回答!我刚刚花了6个小时调试到这里。他们本可以在文档中提到这个奇怪的细节。嘿@DmitryOgurtsov,没问题,很高兴它起到了作用,我知道调试是多么令人沮丧。