我如何从Facebook图形API获取用户访问令牌

时间:2019-01-20 12:02:46

标签: facebook-graph-api

所以我正在尝试使用facebook graph API将用户身份验证到我的网站中 所以这就是我所了解的步骤。

  1. 用户单击我的自定义facebook按钮,然后调度以下get请求:https://www.facebook.com/v3.2/dialog/oauth?......

  2. 然后,我从以下查询字符串中获取代码: https://localhost:4200/?code=...&state=...#=

  3. 我已将代码发送到服务器以与访问令牌交换

 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

0 个答案:

没有答案