【问题标题】:How do I pass a user input parameter to my cloud function?如何将用户输入参数传递给我的云函数?
【发布时间】:2021-04-28 04:02:38
【问题描述】:

我正在尝试了解 Cloud Functions for Firebase。我按照教程创建了一个身份验证触发器,效果很好,但现在我需要将用户想要使用的username 传递给我的身份验证事件。我该怎么做呢?我是否可能在这里使用了错误的触发器而需要一个 HTTP 触发器?

exports.newUserSignup = functions.auth.user().onCreate(user => {
  console.log('user created', user.email, user.uid);
  const doc = admin.firestore().collection('users').doc();
  return doc.set({
    createDate: admin.firestore.FieldValue.serverTimestamp(),
    modifiedDate: admin.firestore.FieldValue.serverTimestamp(), 
    username: 'NEED TO FIGURE THIS OUT',
    email: user.email,    
    stat: 1,
    uid: user.uid,
    rowpointer: doc.id,
  });
});

【问题讨论】:

    标签: javascript android typescript firebase google-cloud-functions


    【解决方案1】:

    无法将其他信息传递给auth.user().onCreate 触发器,不幸的是,当帐户更新时无法触发。

    您目前的选择是:

    1. 创建帐户后,从您的应用程序代码中创建文档。
    2. 将所有信息传递给 Callable 或 HTTP Cloud Function,并让它处理帐户创建和写入 Firestore。

    两者都是完全有效的选项,因此请选择对您来说最合理的选项。

    另见:

    【讨论】:

    • 我之所以这样做,是因为我想尽可能地保护我的应用免受黑客攻击。我已经读到有些人现在可以反编译应用程序来读取我的代码,所以我担心如果集合写入/读取是从客户端完成的,而不是安全地在客户端上进行,他们将能够更好地操作它服务器。您对此有何看法?
    猜你喜欢
    • 2019-01-24
    • 2011-10-18
    • 1970-01-01
    • 2020-10-01
    • 1970-01-01
    • 2022-06-10
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多