我正在通过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并提示连接,然后重定向回我的应用程序。实际上-当我单击时,什么也没发生。