我正在建立一个网络应用程序,允许用户使用OpenFB for Cordova登录Facebook。我希望只有某些功能可以查看,如果他们已登录。我正在尝试检查登录状态并重新定向,如果没有登录。这是我到目前为止:
<head>
<script>
if(openFB.getLoginStatus.loginStatus = 'unknown'){
window.location ="#/app/home";
}
</script>
</head>
getLoginStats函数是这样的:
function getLoginStatus(callback) {
var token = tokenStore.fbAccessToken,
loginStatus = {};
if (token) {
loginStatus.status = 'connected';
loginStatus.authResponse = {accessToken: token};
} else {
loginStatus.status = 'unknown';
}
if (callback) callback(loginStatus);
}
当我在console.log中时,我的值未定义。即使用facebook登录也是如此。我错过了一些明显的东西吗?
要求退出代码:
//logout function
$scope.fbLogout = function(){
openFB.logout(); //logouts after revoking permissions.
alert('Logged out');
}
答案 0 :(得分:2)
openFB.getLoginStatus
是一个异步函数,它将回调作为参数。你必须像这样使用它:
openFB.getLoginStatus((loginStatus) => {
console.log(loginStatus);
});