Xero Api NodeJS-授予问题无效



我正在使用xero节点模块为带有NodeJS的xero创建一个应用程序。

出于某种原因,每一个刷新令牌的请求都会作为无效的授权返回

我已经拿到了代码,并在进行身份验证后立即尝试回调以获取刷新,这样我就可以确保这是最新的令牌,并且仍然可以做同样的事情。

下面的代码是当Xero传递回应用程序时调用的方法(callbackURL(

我得到的错误是";invalid_grant";它没有给出任何其他错误,也没有Xero中的错误日志,所以非常不熟练。

exports.callback = async function (req, res) {
    const tokenSet = await xero.apiCallback(req.url);
    try {
        const newTokenSet2 = await xero.refreshWithRefreshToken('ClientID, 'ClientSecret', tokenSet.refresh_token);
    }
    catch(error){
        console.log(`ERROR  refresh: n ${JSON.stringify(error.response.body, null, 2)}`);
    };


    ///console.log(tokenSet);
};

有什么想法吗?

如果没有看到更多的上下文代码,就很难判断。我假设您实际上并没有将"ClientID"one_answers"ClientSecret"作为字符串发送。

我建议您在这里使用一个完全初始化的利用openid客户端的客户端进行刷新:https://github.com/XeroAPI/xero-node-oauth2-app/blob/f1fbd3a08e840e54e8ce57f7050ddde6686208d8/src/app.ts#L233

或者在这里,通过传递客户端、secret和refresh_token来初始化一个空客户端并刷新:https://github.com/XeroAPI/xero-node-oauth2-app/blob/f1fbd3a08e840e54e8ce57f7050ddde6686208d8/src/app.ts#L236

我认为现在的情况是,您使用的是第二种方法,但客户端已经初始化。同样,在有限的背景下很难说出。如果这还不能解决问题,请发布更多详细信息。

相关内容

  • 没有找到相关文章

最新更新