Добро пожаловать! Это мое решение с Google Firebase Authentication, если вы решите попробовать! Первое, что вам нужно сделать, это зарегистрироваться для бесплатной учетной записи Firebase .
1.Создать новый проект.
2.Нажмите в меню аутентификации.
3.На вкладке СПОСОБ ВХОДА Включите адрес электронной почты / пароль.
4.Настройка сообщений электронной почты (для подтверждения регистрации и изменения пароля), отправляемых приложением Firebase, на вкладке ШАБЛОНЫ ЭЛЕКТРОННОЙ ПОЧТЫ.
6.Зайдите в консоль и щелкните значок «Добавить Firebase в ваше веб-приложение» в разделе «Обзор». Скопируйте и вставьте код на страницу index.html , чтобы Инициализировать Firebase SDK .
В файл index.html необходимо добавить js-файлы Firebase и AngularFire, например:
<!-- Firebase -->
<script src="https://www.gstatic.com/firebasejs/3.6.6/firebase.js"></script>
<!-- AngularFire -->
<script src="https://cdn.firebase.com/libs/angularfire/2.3.0/angularfire.min.js"></script>
После закрывающего тега body (все еще в вашем index.html файле) инициализирует Firebase SDK :
<script>
// Initialize the Firebase SDK
var config = {
apiKey: '<your-api-key>',
authDomain: '<your-auth-domain>',
databaseURL: '<your-database-url>',
storageBucket: '<your-storage-bucket>'
};
firebase.initializeApp(config);
В вашем логине:
<form name="register" ng-submit="createUser()" novalidate>
<input type="text" name"email" ng-model="user.email" ng-required="true">
<input type="text" name"password" ng-model="user.password" ng-required="true">
<input type="submit" value="enviar">
<p>{{ message }}</p>
<p>{{ error }}</p>
</form>
На вашем контроллере:
var app = angular.module("app", ['ngRoute','firebase']);
app.controller("LoginCtrl", function($scope, $location, $firebaseObject, $firebaseAuth) {
var auth = $firebaseAuth();
// to create a user
$scope.createUser = function() {
auth.$createUserWithEmailAndPassword($scope.user.email, $scope.user.password).then(function(firebaseUser) {
$scope.message = "User created with uid: " + firebaseUser.uid;
}).catch(function(error) {
$scope.error = error.message;
});
};
// to log a user
$scope.logUser = function() {
auth.signInWithEmailAndPassword(user.email, user.password).then(function(firebaseUser){
if (firebaseUser.emailVerified) {
$location.path('/success');
} else {
$scope.message = "Wrong user name or password";
}
});
}
});