Firebase-是否可以阻止电话号码注册



我使用电话身份验证对用户进行身份验证。如果我想阻止不同用户的一组特定电话号码注册,这是可能的。他们被封了,被踢出了平台,我在参考资料中保存了他们被封号码的副本。他们试图用同一个电话号码再次注册。他们不能再继续下去了。

我想到的一种方法是,一旦他们输入了自己的电话号码,我可以在让他们继续发送短信之前先检查一下裁判。我想知道是否已经内置了更好的方法。也许是通过控制台?

电话号码:

PhoneAuthProvider.provider().verifyPhoneNumber(phoneNumber, uiDelegate: nil) { (verificationID, error) in
// phone is verified, do a check on the kicked out ref before they can proceed to sms
}

短信:

let credential = PhoneAuthProvider.provider().credential(withVerificationID: verificationID, verificationCode: smsCode)
Auth.auth().signIn(with: credential, completion: { (authDataResult, error) in
// user is authenticated let them proceed inside the app or block them here
})

您可以升级到支持阻塞功能的Identity Platform。您可以使用beforeCreate事件来阻止注册:

export.beforeCreate = authClient.functions().beforeCreateHandler((user, context) => {
if (isDisallowed(user.phoneNumber)) {
throw new gcipCloudFunctions.https.HttpsError(
'invalid-argument', `"${user.phoneNumber}" is unauthorized.`);
}
});

您当然可以尝试在客户端应用程序上屏蔽该号码,但这并不安全。客户端应用程序代码可能会被泄露,不应被信任。您的解决方案应该位于您控制的后端,并且可以在不必发布新版本的应用程序的情况下进行更新。

你可以做的一件事是用云函数编写一个auth-onCreate触发器,该触发器检查刚刚创建的帐户的电话号码,如果你不想保留该帐户,则使用Firebase Admin SDK立即删除该帐户。

您最好使用后端进行身份验证。

当然,您可以将身份验证代码放在您的应用程序中。

当用户试图注册您的平台时,应用程序可能会扫描被阻止的电话号码列表。

但这不利于安全。

你能确保你的应用程序永远不会破解吗?

如果可能的话,你可以做。

谢谢。

最新更新