2017-08-24 7 views
1

このエラーが発生します。 "現在の環境は、指定された永続性タイプをサポートしていません。"私は自分のアプリをテストしていて、ユーザーがログインしたときにどこにでもログインしているのを見た。だから、firebaseを使ってnode.jsでセッションを実装しようとしています。私のコードはこれです:現在の環境では、指定された持続型のファイアベースをサポートしていません

router.post("/login", function (req, res) { 
email = req.body.email; 
password = req.body.password; 

firebase.auth().setPersistence(firebase.auth.Auth.Persistence.SESSION); 
firebase.auth().signInWithEmailAndPassword(email, password).then(function() { 
    var user = firebase.auth().currentUser; 
    firebase.auth().onAuthStateChanged(function (user) { 
     if (user) { 

      res.redirect("/home"); 
     } 
    }); 
});}); 

答えて

1

のみnone持続性は(それがデフォルトの設定です)Node.jsの環境でサポートされています。これは、Firebase Authクライアントライブラリがサーバ環境で使用されている場合、複数のユーザがログインしている可能性があり、バックエンドサーバに保持されているcurrentUserという概念がないためです。もう片方を拭く)。セッションの永続性は、クライアント側でのみ変更できます。

+0

答えをありがとう。では、ユーザーを個別に認証するにはどうすればよいですか? – ihnamdar

+0

APIは、クライアント側でユーザーを認証するように最適化されています。この場合、制限されたリソースを処理する前に、常にサーバーにIDトークンを送信し、管理SDKでIDトークンを確認します。バックエンドに送ることもできますが、複数のユーザーがそのフローを通過することになります。その場合、セッションを管理することが期待されます。ユーザーセッションは1時間ごとに更新されません。 – bojeil

関連する問題