来自Google Cloud Endpoint的Firebase身份验证

时间:2015-11-25 17:40:58

标签: google-app-engine firebase google-cloud-endpoints firebase-authentication

我有一个使用Firebase和用户身份验证的Android应用。身份验证过程通过Facebook,Google或Twitter帐户完成,并将用户数据存储到Firebase中。

另一方面,我在App Engine中运行了一个Java Cloud Endpoint,它连接到Firebase以检索一些数据,并最终通过Google Cloud Messaging向其他用户发送消息。 Firebase会存储用户GCM令牌,如果某些GCM令牌无效或已更新,则Endpoint会连接到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 Endpoint不允许更新用户GCM令牌,我想在端点中实施身份验证过程,生成自定义令牌只是为了允许端点写入用户节点

这是要走的路吗?或者我完全错了?

1 个答案:

答案 0 :(得分:2)

如果您希望Cloud Endpoint通过Firebase身份验证为“本身”,您可以将自定义令牌转换为authWithCustomToken。请参阅文档中的此页面:https://www.firebase.com/docs/android/guide/login/custom.html

该过程类似于Jenny在How do you authenticate a server to Firebase?

中为Node.js所描述的内容