Node.js DBS API服务器沙盒调用错误500

Node.js DBS API服务器沙盒调用错误500,node.js,authentication,oauth-2.0,request,banking,Node.js,Authentication,Oauth 2.0,Request,Banking,我只是在这里试验DBSAPI沙箱()。我们必须使用OAuth2获取访问令牌,然后再将其传递到报头中以验证API调用。当我在他们的测试客户端UI上测试所有内容时,我从API调用中得到了结果 然而,当我编写我的简单节点应用程序时,我可以成功地执行OAuth2并获得访问令牌,但是当与clientId一起传入时,从API中得到一个服务器错误500 例如,GET调用以获取银行帐户详细信息: const options = { method: 'GET', uri: dbsHost + ro

我只是在这里试验DBSAPI沙箱()。我们必须使用OAuth2获取访问令牌,然后再将其传递到报头中以验证API调用。当我在他们的测试客户端UI上测试所有内容时,我从API调用中得到了结果

然而,当我编写我的简单节点应用程序时,我可以成功地执行OAuth2并获得访问令牌,但是当与clientId一起传入时,从API中得到一个服务器错误500

例如,
GET
调用以获取银行帐户详细信息:

const options = {
    method: 'GET',
    uri: dbsHost + rootPath + '/accounts/22909292550739201999095',
    headers: {
        'Content-Type': 'application/json',
        'accessToken': accessToken,
        'clientId': clientId
    }
}
request(options, (error, response, body) => {
    // Server error 500
    console.log(response)
})
这些是测试客户端UI上给出的确切说明。仔细检查后,我意识到我一直得到的访问令牌有488个字符,但测试客户机UI只有475个字符。有什么不同的原因吗?我如何知道OAuth2已正确执行,并且获得了正确的访问令牌

我是这样做的OAuth2:

在前端:

let authorizationUri = dbsHost + rootPath + '/oauth/authorize'
authorizationUri += '?client_id=' + clientId
authorizationUri += '&redirect_uri=' + redirectUri
authorizationUri += '&scope=Read'
authorizationUri += '&response_type=code'
authorizationUri += '&state=0399'
windows.location.assign(authorizationUri)
redirect\u uri
端点处,我获得授权代码后:

app.get('/authCallback', (req, res) => {
    let authCode = req.query.code
    // Encode client_id:client_secret in base-64 to pass in as Auth Basic Header
    let b64 = new Buffer(clientId + ':' + clientSecret).toString('base64')
    const options = {
        method: 'POST',
        url: dbsHost + rootPath + '/oauth/tokens',
        headers: {
            'Authorization': 'Basic ' + b64
        },
        form: {
            'code': authCode,
            'redirect_uri': redirectUri,
            'grant_type': 'token',
            'state': '0399'
        }
    }
    request(options, (error, response, body) => {
        if (error) {
            console.error('Access Token Error', error.message)
            return res.status(500).json('Authentication failed');
        }
        let json = JSON.parse(body)
        let accessToken = json['access_token']
        // Make a call with this access token
    })
})

我希望问题现在已经解决了?我在使用DBSAPI时也遇到过问题,我完全按照“TRY IT”方法获取访问令牌,但无法使用该令牌调用API。您是否使用他们的演示id和pw(iw036/123456)获取授权代码?不确定用于获取“正确”授权代码和访问令牌是否有效@莱昂纳多