Firebaseを使用してNodeJS経由でセッションを認証および保持したいと思います。クライアントはFirebaseと直接通信できません。
要するに:
クライアント(ブラウザ)<----> NodeJs(firebase-admin)<----> Firebase
NodeJSでFirebaseクライアントを作成してから、ログインメソッドを使用しました。
var firebaseClient = require('firebase');
firebaseClient.initializeApp(config)
firebaseClient.auth().signInWithEmailAndPassword(req.body.email, req.body.password).catch(function(error){
console.log(error);
})
そして、認証されたユーザーをチェックするためのルートを作成しました:
app.get('/check',function(req,res){
var user = firebaseClient.auth().currentUser
console.log(user)
})
この方法では、以前にログインしたユーザーを1人だけ保持できます。
Firebase-adminを使用したいのですが、セッションを維持してユーザーを認証する方法がわかりません
クライアントSDKを使用して、それぞれのデバイス/ブラウザでクライアントを認証できます。クライアントは、firebase-admin(admin SDK)を使用して記述されたバックエンドサービスにIDトークンを送信します。 admin SDKは、クライアントから送信されたIDトークンを検証するためのメソッドを提供します。 https://firebase.google.com/docs/auth/admin/verify-id-tokens