web-dev-qa-db-ja.com

FirebaseによるNodeJS認証

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を使用したいのですが、セッションを維持してユーザーを認証する方法がわかりません

25
Karol Bilicki

クライアントSDKを使用して、それぞれのデバイス/ブラウザでクライアントを認証できます。クライアントは、firebase-admin(admin SDK)を使用して記述されたバックエンドサービスにIDトークンを送信します。 admin SDKは、クライアントから送信されたIDトークンを検証するためのメソッドを提供します。 https://firebase.google.com/docs/auth/admin/verify-id-tokens

16