通过Cloud Functions for Firebase获取匿名用户

时间:2017-12-06 00:23:24

标签: firebase firebase-realtime-database firebase-authentication google-cloud-functions

我正在使用Cloud Functions来管理项目中的数据库和身份验证。我按照示例https://github.com/firebase/functions-samples/tree/master/delete-unused-accounts-cron删除了应用中的非活动用户。我想只获得一段时间内处于非活动状态的匿名用户。我不知道对身份工具包进行查询以仅过滤正确的查询。有人帮忙吗?

谢谢!

2 个答案:

答案 0 :(得分:1)

我认为您最好的办法是在登录时将帐户身份验证提供程序写入您的数据库,然后使用该帐户进一步过滤应删除的帐户集。这样,您就不必花时间query each uid找出providers的内容。

答案 1 :(得分:1)

您可以使用Admin SDK listUsers API列出所有用户,然后检查该帐户是否没有提供商数据(假设您不使用自定义身份验证)/没有电子邮件并检查元数据{{ 1}}。但是,由于Firebase会话无限期,因此无法保证帐户处于非活动状态: 列出用户:https://firebase.google.com/docs/auth/admin/manage-users#list_all_users

包含上次登录时间的用户记录元数据:https://firebase.google.com/docs/reference/admin/node/admin.auth.UserRecord#metadata