У меня есть приложение phonegap на iOS, использующее firebase для аутентификации. Вход в систему осуществляется следующим образом:Регулярно выдается при использовании firebase authWithPassword
var afterLogin = function(error, authData) {
if (error) {
console.log(error);
messenger.error(error.message);
return;
}
$scope.loggedIn = $auth.check();
$scope.$apply();
$sync.sync();
messenger.success('Logged in');
};
$scope.doLogin = function() {
mixpanel.track('login');
if (!$scope.loginForm.email && !$scope.loginForm.password) {
messenger.error('Enter email and password then tap login');
return;
} else if (!$scope.loginForm.email) {
messenger.error('Enter your email then tap login');
return;
} else if (!$scope.loginForm.password) {
messenger.error('Enter your password then tap login');
return;
}
ref.authWithPassword({
email : $scope.loginForm.email,
password : $scope.loginForm.password
}, afterLogin);
}
проверить статус пользователя, как это:
check: function() {
var authData = ref.getAuth();
if (authData) {
mixpanel.identify(authData.uid);
mixpanel.people.set({
"$email": authData.password.email
});
}
return !!authData;
}
Он отлично работает на начальном этапе, но пользователи получают выписался и должны снова войти в систему через 12-24 часов не использовать приложение. Возможно, когда приложение будет отключено из памяти? Очевидно, это довольно неприятно, не зная, что вызывает это. Длительность сеанса установлена на 24 недели, все еще проблема.
Firebase версия: 2.1.2 Угловой: 1.3.6
Журнал LocalStorage после аутентификации с именем пользователя и паролем:
Возвращаясь через день после выхода из игры:
Содержимое печенья (то же, что и у входа в систему или нет, там нет объектов для бомбардировки):
Здесь вы можете добавить более подробную информацию, чтобы помочь нам понять и воспроизвести проблему. Вышеприведенный код вряд ли будет точным воспроизведением кода, который вы используете. Вы не указали какую-либо информацию о версии, которая, безусловно, могла бы сыграть в такой нюанс. И вы не указали какие-либо шаги по устранению неполадок, которые вы предприняли, или возможные причины, из-за которых вы исключены (например, удаляется ли токен из локального хранилища? Существует ли токен? Если да, то что такое значение 'expires', если вы [break it down] (http://jsfiddle.net/firebase/XDXu5/embedded/result/)?) – Kato
@Kato Я добавил дополнительную информацию о проблеме – Tom
Эй, спасибо за дополнительную информацию. Это рисует лучшую картину. Мне кажется, что телефонная книга не сохраняет информацию о файле cookie/хранилище. Возможно, потому, что он внутренне использует 'file: //', и файлы cookie не разрешены для этого? Не могли бы вы проверить localStorage/cookies, чтобы узнать, сохраняется ли auth? – Kato