我在Play商店有免费版和付费版都有firebase身份验证如何确保不登录其他电子邮件帐户,除了购买的帐户
答案 0 :(得分:1)
考虑使用自定义用户声明,然后通过Firebase规则强制执行访问,或者如果要在自己的服务器中解析自定义声明,请检查ID令牌中是否存在自定义声明: https://firebase.google.com/docs/auth/admin/custom-claims
用户登录并完成购买后,您可以将购买凭据发送到后端,并将其与用户的ID令牌一起处理。如果两者都经过验证,您可以为该用户设置自定义声明:
admin.auth().setCustomUserClaims(uid, {paidSubscriber: true}).then(() => {...
然后强制客户端刷新其令牌以获取最新声明:
currentUser.getIDToken(true)...
现在,每个请求都可以通过检查ID令牌来检查用户是否已获得授权。
{
"rules": {
"paidContent": {
".read": "auth.token.paidSubscriber === true",
".write": "auth.token.paidSubscriber === true",
}
}
}