htt*_*ete 5 react-native react-native-fbsdk
我正在使用react-native-fbsdk我的 react-native 应用程序通过 Facebook 登录。
我打电话LoginManager.logOut()给注销:它实际上并没有正确注销,因为我下次尝试登录时,它不会再次要求我输入登录名/密码,所以我只能用一个帐户登录。我找不到登录另一个 Facebook 帐户的方法。
这家伙(react-native-fbsdk:如何正确地从 facebook 注销?)遇到了同样的问题,似乎没有找到解决方案。
iOS 上的一个技巧是转到 safari,然后从移动 facebook 网站注销。虽然这在android上不起作用:(
编辑:
这是我的facebook登录代码:
function login() {
return LoginManager.logInWithReadPermissions(FACEBOOK_PERMISSIONS)
.then(result => {
if (result.isCancelled) {
throw new Error("Login canceled");
}
return AccessToken.getCurrentAccessToken();
})
.then(({ accessToken }) => accessToken);
}
Run Code Online (Sandbox Code Playgroud)
注销/登录视频:https : //d3vv6lp55qjaqc.cloudfront.net/items/132L2U1p383E1y0l2l2v/Screen%20Recording%202018-10-31%20at%2002.52%20PM.mov
所以我找到了这个解决方案,这不是黑客,而是在 Facebook 上执行注销的正确方法。您需要创建一个 GraphRequest 来请求删除权限。下面是代码,希望对你有帮助。我在 Android 和 IOS 上测试了它,效果非常好。
FBLogout = (accessToken) => {
let logout =
new GraphRequest(
"me/permissions/",
{
accessToken: accessToken,
httpMethod: 'DELETE'
},
(error, result) => {
if (error) {
console.log('Error fetching data: ' + error.toString());
} else {
LoginManager.logOut();
}
});
new GraphRequestManager().addRequest(logout).start();
};
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3884 次 |
| 最近记录: |