Node.js 对RevoluteAPI进行身份验证
我正试图按照Revolute的教程对他们的API进行身份验证,我一直在请求一个可重用的访问令牌 到目前为止,我已设法: 1.创建公钥/私钥 2.上载公钥 3.使用生成的客户端id对jwt进行签名 4.获取授权代码 但我无法使用上述方法请求可重用访问令牌 根据这个,我应该在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
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,没问题,很高兴它起到了作用,我知道调试是多么令人沮丧。