我使用此(https://github.com/facebook/react-native-fbsdk)组件尝试使用Facebook设置对我的应用程序的身份验证。我已经成功配置了它,因此登录按钮在两个平台上都为我提供了有效的令牌。
问题是应用程序records successfully logged user
,摆脱它非常棘手(只有重新安装才能提供帮助)。此外,当您尝试在Android上的Facebook应用程序中更改登录的用户时 - 它会给出一个错误:
"用户以其他 Facebook 用户身份登录"
我总是收到此屏幕而不是登录表单,我可以在其中输入其他凭据或至少更改帐户。
我使用提供的LoginManager.logInWithReadPermissions
登录,LoginManager.logOut
似乎什么也没做。
那么,如果登录不正确或主fb应用程序帐户已更改,我是否可以to give a user a choice
应用程序?
似乎是一个未解决的问题 https://github.com/facebook/react-native-fbsdk/issues/536
尽自己的一份力量 - 请投票支持此问题,以便FB团队将来可以解决。
答案 – 目前,此问题无法解决。
开发解决方法 – 如果您正在开发中并且需要测试多个用户,则可以使用不同的模拟器通过另一个登录进行身份验证。
如果FB解决了这个问题,请考虑编辑这个答案
FBLogout = async () => {
try{
let tokenObj = await AccessToken.getCurrentAccessToken();
let current_access_token = tokenObj.accessToken.toString();
let logout = new GraphRequest(
"me/permissions/",
{
accessToken: current_access_token,
httpMethod: 'DELETE'
},
(error, result) => {
if (error) {
console.log('Error fetching data: ' + error.toString());
} else {
LoginManager.logOut();
}
});
new GraphRequestManager().addRequest(logout).start()
}catch(error}{
console.log(error);
}
}
在模拟器或设备上打开 Safari,转到 www.facebook.com。
您将看到您仍然使用原始帐户登录。只需注销那里,然后您就可以在 react 本机应用程序中使用不同的应用程序。