Rally:Node.js中的v2.0 API授权来处理POST请求

我在Node.js中创build了一个小型服务器来处理Rally POST请求。 这一直工作,直到我更新到拉力赛v2.0 API。 使用新的授权模式,我不知道我必须对我的服务器做些什么,以便我不再“无权执行操作:无效密钥”。 我读了拉力赛授权文件,但我不知道如何应用它在服务器内。 这是我有什么不工作:

var express = require('express'); var app = express(); var sys = require('util'); var client = require('restler'); var userNamePassword = { 'username': 'myusername', 'password': 'mypassword' }; app.use(express.bodyParser()); app.all('/rally/projectpermission/create', function(req, res) { client.get("https://rally.eng.xxxx.com/slm/webservice/v2.0/security/authorize", userNamePassword) .on('complete', function(data, response) { var result = JSON.parse(data); var operationResult = result['OperationResult']; securityToken = operationResult['SecurityToken']; var p = 'https://rally.eng.xxxx.com/slm/webservice/v2.0/projectpermission/create?key=_SECURITY_TOKEN_'.replace('_SECURITY_TOKEN_', securityToken); client.postJson(p, req.body, userNamePassword) .on('complete', function(data, response) { res.header("Access-Control-Allow-Origin", "*"); res.header("Access-Control-Allow-Headers", "X-Requested-With"); res.json(response.statusCode); }) .on('success', function(data, response) { console.log('success: ' + data); }) .on('fail', function(data, response) { console.log('fail: ' + data); }) .on('error', function(err, response) { console.log('error: ' + err); }); }); }); app.listen(3000); 

只要你在获取/安全/授权请求中包含凭证,它应该可以工作。 你收到一个有效的钥匙吗?

我们最近还发布了一个Node.js工具包来与Rally的WSAPI一起工作。 它为您处理所有这些身份validation,也使查询更容易的许多其他操作。

检查出来: https : //github.com/rallytools/rally-node

Interesting Posts