当前,我遇到了一整天都无法解决的问题。本质上,我试图通过Roblox身份验证API来获得帐户的登录会话。当我从服务器发布到他们的API时,它首先起作用,这样我就可以获取X-CSRF-TOKEN
了,下次我在同一API上发布信息时,需要在标头中设置.ROBLOSECURITY
var request = require('request');
var loginOptions = {
url: 'https://auth.roblox.com/v2/login',
form: {
'ctype': 'Username',
'cvalue': 'AccountUsernameHere',
'password': 'AccountPassGoesHere'
},
headers: {
'Content-Type': 'application/json'
}
};
request.post(loginOptions, function(error, response, body) {
loginOptions.headers['X-CSRF-TOKEN'] = response.headers['x-csrf-token'];
request.post(loginOptions, function(error, response, body) {
if (response.statusCode == 200) {
console.log('Success: ' + body);
} else {
console.log(response.statusCode + ' : ' + response.statusMessage);
}
});
});
,用于验证该帐户会话。但是,第二次我使用标头中的令牌发布到他们的API时,出现了400错误,并且不确定为什么会发生这种情况。
对于任何想知道的人,它都会返回一个有效的X-CSRF-TOKEN。
CartActivity
答案 0 :(得分:0)
您需要在nodejs中安装cors:npm install cors,您可以尝试以下操作
var express = require('express')
var cors = require('cors')
var app = express()
app.use(cors())
app.get('/products/:id', function (req, res, next) {
res.json({msg: 'This is CORS-enabled for all origins!'})
})
app.listen(80, function () {
console.log('CORS-enabled web server listening on port 80')
})
答案 1 :(得分:0)
看来我的代码有两个问题。
第一个问题是我本应该使用form
时使用body
。我最终也需要添加json: true
。