首页 > 解决方案 > Firebase 身份验证拦截

问题描述

我正在开发一个 Flutter 和 Firebase 应用程序,其中包含一个推荐程序,用户可以在其中推荐另一个用户并获得一些积分。问题是我只想在被推荐的用户验证他/她的电子邮件时指出这一点。如何在 Firebase 中拦截用户验证过程。例如,当他/她的下线验证他的电子邮件时,我想给裁判一个奖金。

标签: firebaseflutterfirebase-authentication

解决方案


email_verified一旦在 Firebase 身份验证服务器上切换了用户标志,就无法执行您的代码。

您可以获得的最接近的方法是定期在受信任的环境(您的开发机器、您控制的服务器或 Cloud Functions)中运行一个进程,然后使用 Firebase Admin SDK检索所有用户的列表,并检查他们的电子邮件地址是否通过将其与您维护的已给予奖励的用户列表进行比较来验证。

除了定期运行它,您还可以在检测到用户已验证其电子邮件地址时让客户端应用程序代码调用 Cloud Functions;类似的东西checkBonusEligibility。然后服务器会执行与以前相同的检查,否则用户可能会通过自己调用云函数来滥用您的系统。


推荐阅读