2016-11-03 12 views
2

自分でnode.jsサーバをセットアップしているので、Firebaseストレージとリアルタイムデータベースサービスは必要ありません。クライアント側(主にAndroid)からFirebase認証サービス(G +とFBログイン)を使用してユーザーを認証しようとしていますが、firebaseデータベースにユーザーを作成します。データベース内のユーザーも作成するにはどうすればよいですか?Firebase認証サービスを使用して、独自のデータベースにユーザを登録する方法は?

現在のところ、Firebaseで作成したユーザーIDをサーバーに送信してDBに保存し、JWTを生成してサーバーへの後続のREST API要求を検証しています。

答えて

0

独自のカスタム電子メール/パスワードサインインシステム(それを制御し、独自のデータベースに保存することができます)と、バックエンドのnode.jsサーバーで作成したカスタムトークンを使用して、 signInWithCustomTokenにクライアントに渡します。

5

エンドユーザーがGoogle/Facebookでログインした後、クライアントアプリケーションはFirebase JWT tokenに戻ります。アプリがサーバーにREST APIリクエストを送信する必要がある場合は、Firebase JWTトークンをリクエスト本体に追加するだけです。

サーバーでは、着信要求内のFirebaseトークンをまず検証します。 JWTセキュリティチェック(署名、聴衆、有効期限など)が終わったら、トークンの 'sub'フィールド(user_id)を抽出し、user_idがDBにない場合にのみDBにユーザレコードを作成することができますまだ。

+0

バックエンドでfirebaseトークンを確認するにはどうすればよいですか?私たちは同じ秘密を使って検証できるように、firebaseは私たちに秘密を与えていますか? –

+0

Firebase Admin SDKまたはサードパーティのJWTライブラリを使用してFirebaseトークンを確認することができます:https://firebase.google.com/docs/auth/admin/verify-id-tokens#verify_id_tokens_using_the_firebase_admin_sdk –

関連する問題