firebase Admin Auth APIを使用してid-token-verification
を使用してユーザを認証するウェブサイトをnodejs(expressjs)に作成しています。ログインしている各ユーザのAdmin Firebase Appを初期化する
このトークンはサーバーから保存され、サーバーから作成されるリアルタイムデータベースへのクエリに使用されます。私の質問は、権限を制限に関してれ
、ドキュメントでは、サーバーがアクセスなどのユーザーのアクションをエミュレートしたい場合databaseAuthVariableOverride
が自分uid
Taken from the admin auth docs:
を使用してユーザーを模倣するために使用されるべきであると言いますFirebase Realtime Databaseをそのユーザとして使用するには、まずそのユーザのIDトークンを確認してデコードする必要があります。その後、ユーザーごとにので、あなたのサーバー
の権限を制限するdatabaseAuthVariableOverrideオプションを使用します
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://databaseName.firebaseio.com",
databaseAuthVariableOverride: {
uid: userId1
}
}, userId1)
admin.initializeApp({
credential: admin.credential.cert(serviceAccount),
databaseURL: "https://databaseName.firebaseio.com",
databaseAuthVariableOverride: {
uid: userId2
}
}, userId2)
ログインしているユーザーごとに新しいfirebaseAppを初期化することが可能だろう、または複数のユーザーの制限特権を処理するための標準的な方法がありますか?