У меня есть приложение Firebase AngularJS, и я использую FirebaseSimpleLogin
для выполнения проверки подлинности, но у меня возникли проблемы с пониманием того, как я могу продолжать работу с зарегистрированным пользователем в моем приложении. Каждый раз, когда я вхожу в систему и обновляю страницу, кажется, что я больше не аутентифицирован. Я понимаю, что токен генерируется после входа в систему, который используется для аутентификации пользователя, но мне нужно его аутентифицировать с использованием этого токена на каждой странице, и если это так порождает любые накладные расходы между моим приложением и firebase?Хранение токена аутентификации firebase
Раздел мое приложение, которое выполняет логин/authenticatin
var ref = new Firebase("https://xxx.firebaseio.com/");
angularFireAuth.initialize(ref, {scope: $scope, name: "user", path:"/login"});
// Used to authenticate user at a later time
$scope.auth = function(token, callback)
{
ref.auth(token, function(error, data) {
if(error)
{
console.log("Login Failed!", error);
}
else
{
$scope.$apply(function()
{
$scope.user = data.auth;
});
}
if (typeof callback === 'function')
{
callback(error,data);
}
});
};
// Login to fetch authentication token to be used by $scope.auth()
$scope.login = function()
{
angularFireAuth.login("password", {
email: $scope.credentials.email,
password: $scope.credentials.password
});
};
// On login stores user within $scope
$scope.$on("angularFireAuth:login", function(evt, user) {
$scope.$apply(function()
{
// Is it possible to save this user accross my application not just in this $scope
$scope.user = user;
});
});
Вот разметка, которая захватывает комбинацию адреса электронной почты/пароль
<div class="container-single" center>
<h3>Sign in</h3>
<input type="text" ng-model="credentials.email" placeholder="Username" />
<input type="password" ng-model="credentials.password" placeholder="Password" />
<input type="checkbox" id="checkbox-1" name="checkbox-1" /> <label>Remember my password</label>
<button ng-click="login()">Sign in</button>
</div>
Спасибо, что функция auth, которую я добавил в $ scope, не нужна. –