我的应用程序当前允许用户通过电话号码创建其 Firebase 帐户。我目前正在尝试找出当用户使用电话号码而不是电子邮件创建帐户时密码重置的逻辑。
我在 Firebase 文档中找到的唯一重置密码功能需要电子邮件地址。
如有任何帮助,我们将不胜感激!
您可以使用
verifyPhoneNumber:UIDelegate:completion:
向用户发送另一条短信进行验证,然后使用 verificationID
登录。
关于如何执行此操作的官方文档 -> https://firebase.google.com/docs/auth/ios/phone-auth#send-a-verification-code-to-the-users-phone.
PhoneAuthProvider.provider().verifyPhoneNumber(phoneNumber, uiDelegate: nil) { (verificationID, error) in
if let error = error {
self.showMessagePrompt(error.localizedDescription)
return
}
// Sign in using the verificationID and the code sent to the user
// ...
}
或
如果您有服务器,则可以使用 Firebase admin SDK(适用于 Node.js、Java、Python、Go 和 C#),只需使用用户的
uid
即可更新用户的密码属性。
Node.js 中的示例:
admin.auth().updateUser(uid, {
password: "YOUR_NEW_PWD"
})
.then((userRecord) => {
console.log('Successfully updated user', userRecord.toJSON());
})
.catch((error) => {
console.log('Error updating user:', error);
});
你找到这个问题的答案了吗? 我也想实现同样的