1
我在Node.js中創建了一個小型服務器來處理Rally POST請求。這一直工作,直到我更新到Rally v2.0 API。使用新的授權模式,我不知道我必須對我的服務器執行什麼操作,以便不再執行'未授權執行操作:無效密鑰'。我閱讀了Rally授權文檔,但我不確定如何在服務器中應用它。以下是我不能工作的:Rally:Node.js中的v2.0 API授權來處理POST請求
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);
該鍵似乎是有效的。這是一個類似於:76d52bb4-678e-430e-a851-4ec063d800ae的關鍵。那麼,你是說我的代碼應該工作嗎?我還會看看你提到的工具包。我只是在這方面學習,但會話控制有問題嗎? – dfrobison
該鍵看起來是有效的,似乎你在請求中正確地包含它。在拉力賽中也有一個錯誤,有時它不正確地說你的鑰匙是無效的 - 但是如果你的密碼從不起作用,那麼可能還有其他的事情發生。 –
我剛使用了工具包,解決了我的問題。生病 – dfrobison