使用Facebook的应用内浏览器调试Facebook的oauth登录

时间:2019-04-10 08:45:19

标签: webview angular6 facebook-login

我正在通过oauth方法(无弹出窗口)将Facebook登录设置为我的网络视图Angular6应用。通过Facebook的应用内浏览器访问该应用时,登录无法正常工作,我无法找到一种调试方法。

当我通过Facebook的应用程序内浏览器单击指向我的应用程序的链接时,我可以进入我的网站并查看其内容。但是,当我单击以Facebook登录时,什么也没有发生。直接从我的应用程序或从桌面浏览器(而不是从Facebooks浏览器)访问登录过程时,登录过程工作正常。 this question看来,我似乎找不到适当的方法来调试问题,但是对它的任何答案都没有运气。已经4岁了-希望有人现在可以解决问题吗?

我首先检查用户的登录状态:

getLoginStatus() {
    return new Promise(resolve => {
      window.FB.getLoginStatus((response) => {
        if (response.status === 'connected') {
          resolve(response.authResponse.accessToken);
        } else {
          resolve(false);
        }
      });
    });
  }

然后,如果已连接-我向用户发送数据请求:

getUserInfoWithAccessToken(access_token){
    return new Promise((resolve, reject) => { 
      return this.http.get(`https://graph.facebook.com/me?fields=first_name,last_name,email&access_token=${access_token}`,
      {headers: new HttpHeaders({'Content-type': 'application/json'})})
      .subscribe(
        (response: any) => {
          let data = {
            'first_name': (response.first_name) ? response.first_name : null,
            'last_name': (response.last_name) ? response.last_name : null,
            'email': (response.email) ? response.email : null
          }
          resolve(data);
        },
        (error: any) => {
          reject(error);
        })

    });
  }

,如果未连接-我重定向至:

https://www.facebook.com/v3.2/dialog/oauth?client_id=000000000000000&redirect_uri=mysite.com/1234?param=somevalue&response_type=token&state=someState

该网站应将我重新定向到Facebook并提示连接,然后重定向回我的应用程序。实际上-当我单击时,什么也没发生。

0 个答案:

没有答案