我正在使用flutter和firebase开发一个应用程序,该应用程序包含一个推荐程序,用户可以在其中推荐另一个用户并获得积分。问题是我只想在推荐用户验证他/她的电子邮件时说明这一点。 我如何在Firebase中拦截用户验证过程。 例如,当裁判下线验证他的电子邮件时,我想给裁判加分。
答案 0 :(得分:0)
一旦在Firebase身份验证服务器上切换了用户的email_verified
标志,就无法执行代码。
您可以得到的最接近的方法是,在受信任的环境(您的开发计算机,您控制的服务器或Cloud Functions)中定期运行一个进程,然后使用Firebase Admin SDK来retrieve a list of all users,并检查它们是否通过将电子邮件地址与您维护的已获得奖金的用户的列表进行比较来验证电子邮件地址。
除了定期运行此功能外,还可以在客户端检测到用户已验证其电子邮件地址时将客户端应用程序代码调用到Cloud Functions中;类似checkBonusEligibility
。然后,服务器会执行与以前相同的检查,否则用户可能会通过自己调用Cloud Function来滥用您的系统。