【发布时间】:2020-04-28 17:54:26
【问题描述】:
我正在用 Flutter 和 Firebase 开发一个应用程序,其中包含一个推荐程序,用户可以在其中推荐另一个用户并获得一些积分。问题是我只想在被推荐的用户验证他/她的电子邮件时指出这一点。 如何在 Firebase 中拦截用户验证过程。 例如,当他/她的下线验证他的电子邮件时,我想给裁判一个奖金。
【问题讨论】:
标签: firebase flutter firebase-authentication
我正在用 Flutter 和 Firebase 开发一个应用程序,其中包含一个推荐程序,用户可以在其中推荐另一个用户并获得一些积分。问题是我只想在被推荐的用户验证他/她的电子邮件时指出这一点。 如何在 Firebase 中拦截用户验证过程。 例如,当他/她的下线验证他的电子邮件时,我想给裁判一个奖金。
【问题讨论】:
标签: firebase flutter firebase-authentication
一旦在 Firebase 身份验证服务器上切换用户的 email_verified 标志,就无法执行您的代码。
您可以获得的最接近的方法是定期在受信任的环境(您的开发机器、您控制的服务器或 Cloud Functions)中运行一个进程,然后使用 Firebase Admin SDK 访问retrieve a list of all users,并检查他们的电子邮件地址是否通过将其与您维护的已给予奖励的用户列表进行比较来验证。
除了定期运行它,您还可以让客户端应用程序代码在检测到用户已验证其电子邮件地址时调用 Cloud Functions;类似checkBonusEligibility。然后服务器会执行与之前相同的检查,否则用户可能会通过自己调用 Cloud Function 来滥用您的系统。
【讨论】: