2

クライアント側でFirebase認証が設定されています。サーバ側では、JWTトークンを使用してアカウントIDを復号できます。しかし、ページが生成される前に、各ページの負荷をサーバー上で認証する必要がある場合、これはどのように機能しますか?サーバ側認証にFirebaseを使用する

ログインまたは各ページの読み込み時に、最後のJWTトークンをクッキーに保存してサーバー上で読み取ることはできますか?それ以外にも、私のサーバーがAJAX呼び出しである各リンクを除いてどのようにその情報を取得するかについてはわかりません。

+0

サーバーからの各負荷を認証する場合は、各呼び出しでJWTをクライアントからサーバーに渡す必要があります。 JWTをクッキーに保存すると、それが達成されます。 –

答えて

2

firebase認証ライブラリを使用して、サーバー上のトークンを検証し、JWT解析ライブラリではないことを前提としていると思われます。

Firebase管理には、IDトークンを復号化して検証し、すべての情報を外挿する方法が含まれています。これは、Cookieの偽造を防ぎ、ユーザーが認証されているかどうかを真実の単一のソースとしてFirebase認証を保持します。 (ノード内)例えば

const admin = require("firebase-admin"); 
    admin.initalizeApp({ 
     credential: admin.credential.cert(yourServiceAccountJsonHere), 
     databaseURL: "http://YOURDATABASE.firebaseio.com/" 
    }); 
    admin.verifyIdToken("usertokenasastring") //returns a promise 
     .then(function(decodedToken){ 
      //process the decoded user token somehow 
    }); 

Firebaseは、データベースへの呼び出しを行うと、そのユーザーが及びJWTの他のすべての情報は、理にかなっていることをログに記録されていることを確認しますので、あなたドンどのような種類の検証サーバー側の実装についても心配する必要はありません。

関連する問題