1

ユーザー認証で Firebase を使用する Android アプリがあります。認証プロセスは、Facebook、Google、または Twitter アカウントを介して行われ、ユーザー データが Firebase に保存されます。

一方、App Engine で実行されている Java の Google Cloud エンドポイントがあり、Firebase に接続してデータを取得し、最終的に Google Cloud Messaging を介して他のユーザーにメッセージを送信します。Firebase はユーザーの GCM トークンを保存し、一部の GCM トークンが無効であるか更新されている場合、エンドポイントは Firebase に接続してそれらの GCM トークンをユーザー ノードに更新します。

現在、ユーザー ノードのセキュリティ ルールは次のとおりです。

"rules": {
"users": {
  ".read": "auth !== null",

  "$uid": {
    // grants write access to the owner of this user account whose uid must exactly match the key ($uid)
    ".write": "auth !== null && auth.uid === $uid" 

現時点では、Google Cloud エンドポイントはユーザーの GCM トークンを更新することを許可されていません。エンドポイントがユーザー ノードに書き込むことを許可するためだけにカスタム トークンを生成する認証プロセスをエンドポイントに実装することを考えています。

これは行く方法ですか?または私は完全に間違っていますか?

4

1 に答える 1

2

クラウド エンドポイントを「それ自体」として Firebase で認証する場合は、カスタム トークンを作成して に渡すことができますauthWithCustomToken。ドキュメントでこのページを参照してください: https://www.firebase.com/docs/android/guide/login/custom.html

このプロセスは、Firebase に対してサーバーを認証する方法で Node.js について Jenny が説明したものと似ています。

于 2015-11-25T18:35:59.640 に答える