1

これまでにこの問題に関する記事を見ましたが、古いものであるか、自分の設定と非常によく似たソリューションを提供しています。

基本的に私のコントローラには、authCtrl.loginとauthCtrl.registerの2つの機能があります。 Auth。$ createUserWithEmailAndPassword()への呼び出しはうまくいきますが、Auth。$ authWithPassword()へのログインの呼び出しは、「...関数ではありません」というエラーが表示されます。私の人生では、ここで何が間違っているのか理解できません。ここで

は私の設定です:

auth.service.js:

angular.module('angularfireSlackApp') 
.factory('Auth', function($firebaseAuth, $firebaseObject){ 
var auth = $firebaseAuth(); 

return auth; 
}); 

auth.controller.js:

angular.module('angularfireSlackApp') 
.controller('AuthCtrl', function(Auth, $state){ 
var authCtrl = this; 

authCtrl.user = { 
    email: '', 
    password: '' 
}; 

authCtrl.login = function() { 
// Why is this not a function 
Auth.$authWithPassword(authCtrl.user) 
.then(function (auth){ 
    $state.go('home'); 
}, function (error){ 
    authCtrl.error = error; 
}); 
} 

authCtrl.register = function() { 
Auth.$createUserWithEmailAndPassword(authCtrl.user.email, authCtrl.user.password) 
.then(function (user){ 
    authCtrl.login(); 
}, function (error){ 
    authCtrl.error = error; 
}); 
} 

}); 

答えて

2

$signInWithEmailAndPassword

Sを試してみてくださいEEのドキュメント: https://github.com/firebase/angularfire/blob/master/docs/reference.md#signinwithemailandpasswordemail-password

+0

私の男! *」 新しい電子メール/パスワードのユーザーを作成します場合は、この機能はのみ、ユーザーを作成することに注意してください : これは私がcreateUserWithEmailAndPasswordに関してでAngularFireの最新バージョンのソースコード中に見つけたものですので、面白いです。 *新しく作成されたユーザーとしてログインしたい場合は、 *このメソッドが解決されたことを約束した後、$ authWithPassword()を呼び出してください。 私は自分自身の機能でそのロジックを使用して、レジスタ内からログイン機能を呼び出すと考えました。いずれにせよ、今は素晴らしい作品です。どうもありがとう。 –

0

アーロン・サンダースがangularjsとangularfireを使用して答えたものに多分より完全な答えビル:

var auth = $firebaseAuth(); 

$scope.loginUser = function (email, password) { 
     auth.$signInWithEmailAndPassword(email, password).then(function(firebaseUser) { 
      console.log("User Logged in successfully with uid: " + firebaseUser.uid); 
     }).catch(function(error) { 
      console.log("An Authentication error occurred: " + error); 
     }); 
    }; 
関連する問題