如何检查用户是否已经登录?
How to check if the user is already logged in?
我是 react-native
和 Facebook sdk
的新手
所以我按照 here 给出的教程进行操作,一切正常,用户可以使用 facebook 登录。
我的问题是:
如何在下次打开应用时判断用户是否已经登录?
我认为无论用户是否已经登录,回调 onLoginFinished
每次都会被调用。但事实并非如此。如果用户已登录,则不会调用 onLoginFinished
。是否有任何特定的回调来检查?或任何其他方法或一些解决方法?
我试图阅读 react-native-fbsdk
here 的文档,但似乎还不够。
这是登录按钮:
<LoginButton
onLoginFinished={ (error, result) => { this.handleLogIn(error, result) } }
onLogoutFinished={() => { this.handleLogOut() } }
/>
辅助函数:
handleLogIn(error, result) {
if (error) {
alert("Login failed with error: " + result.error);
} else if (result.isCancelled) {
alert("Login was cancelled");
} else {
alert("Login was successful")
AccessToken.getCurrentAccessToken().then(
(data) => {console.log(data);} //Refresh it every time
);
}
}
handleLogOut() {
console.log("User logged out");
alert("Log out successful");
}
您需要在您的应用启动时在适当的位置检查 currentAccessToken 是否有效。如果它returns null,则需要刷新令牌,如果刷新令牌已过期,则将用户重定向到登录页面。
AccessToken.getCurrentAccessToken().then(
(data) => {console.log(data);} //Refresh it every time
);
我是 react-native
和 Facebook sdk
所以我按照 here 给出的教程进行操作,一切正常,用户可以使用 facebook 登录。
我的问题是:
如何在下次打开应用时判断用户是否已经登录?
我认为无论用户是否已经登录,回调 onLoginFinished
每次都会被调用。但事实并非如此。如果用户已登录,则不会调用 onLoginFinished
。是否有任何特定的回调来检查?或任何其他方法或一些解决方法?
我试图阅读 react-native-fbsdk
here 的文档,但似乎还不够。
这是登录按钮:
<LoginButton
onLoginFinished={ (error, result) => { this.handleLogIn(error, result) } }
onLogoutFinished={() => { this.handleLogOut() } }
/>
辅助函数:
handleLogIn(error, result) {
if (error) {
alert("Login failed with error: " + result.error);
} else if (result.isCancelled) {
alert("Login was cancelled");
} else {
alert("Login was successful")
AccessToken.getCurrentAccessToken().then(
(data) => {console.log(data);} //Refresh it every time
);
}
}
handleLogOut() {
console.log("User logged out");
alert("Log out successful");
}
您需要在您的应用启动时在适当的位置检查 currentAccessToken 是否有效。如果它returns null,则需要刷新令牌,如果刷新令牌已过期,则将用户重定向到登录页面。
AccessToken.getCurrentAccessToken().then(
(data) => {console.log(data);} //Refresh it every time
);