人。我的NodeJS rest API中有一个错误,并且无法解决此问题。
我的想法是进行github登录,这个应用就像这样工作。
Href to github url在回调中返回一个时间码。
Latter,将此时间码发送到我的REST API,并使用rest api向github api的其他端点发出获取请求,此端点应返回access_token=12345
(此访问令牌是一个示例),后者将此令牌发送到前端,并在JWT令牌中转换令牌,并发送到前端,以便在localStorage中使用它。
我在NodeJS中的代码
router.post("/users/github/:code",function(req,res){
fetch('https://github.com/login/oauth/access_token/', {
method: 'GET',
client_id: 'xxxx',
client_secret: 'xxxx',
code: req.params.code,
accept: 'json',
})
.then(function(res) {
return res.json();
}).then(function(json) {
console.log(json);
});
});

PD:我使用node-fetch
模块。 https://www.npmjs.com/package/node-fetch
答案 0 :(得分:0)
解决方案
router.post("/users/github/:code",function(req,res){
fetch('https://github.com/login/oauth/access_token/', {
method: 'POST',
headers: {
Accept: 'application/json',
'Content-Type': 'application/json'
},
body: JSON.stringify({
client_id: 'xxxx',
client_secret: 'xxxx',
code: req.params.code
})
}).then(function(res) {
return res.json();
}).then(function(body) {
res.json(body);
});
});