所以我正在尝试使用facebook graph API将用户身份验证到我的网站中 所以这就是我所了解的步骤。
用户单击我的自定义facebook按钮,然后调度以下get请求:https://www.facebook.com/v3.2/dialog/oauth?......
然后,我从以下查询字符串中获取代码: https://localhost:4200/?code=...&state=...#=
我已将代码发送到服务器以与访问令牌交换
static async registerFacebook(req, res) {
try{
const params = {
client_id: '...',
client_secret: '...',
code: req.body.code,
grant_type: 'client_credentials',
redirect_uri: 'https://localhost:4200'
}
const headers = {
'Content-Type': 'application/x-www-form-urlencoded'
}
return _axios.post(`https://graph.facebook.com/v3.2/oauth/access_token?`,qs.stringify(params),headers)
.then(async response => {
console.log(response);
}).catch(e => console.log(e));
}catch(e){
const msg = e.hasOwnProperty('message') ? e.message : e;
res.json(ResponseService.errorResponse(msg));
}
}
它奏效了,我得到了这样的回复
{ access_token: 'myAppId|6viQYrjWkLT54OJC00iBMV5I7pR',
token_type: 'bearer' } }
我真的很困惑这里发生了什么,因为我有自己的应用访问令牌,而不是当前的用户访问令牌,请问我在这里错过了什么?
更清楚地说,我要验证的用户与我仍获得相同的访问令牌无关紧要
我尝试遵循此https://developers.facebook.com/docs/facebook-login/manually-build-a-login-flow