没有电子邮件作为用户名的 Firebase 身份验证?

Firebase Authentication without email as username?

是否可以在 Firebase 中使用字符串而不是电子邮件地址作为用户名?

我试过了,但是 createUser 方法要求它是一个电子邮件地址。无论如何我可以绕过这个限制吗?

鉴于 Firebase 电子邮件+密码身份验证不会验证电子邮件地址是否实际存在,您可以在字符串末尾填充任何域。只要结果是语法上有效的电子邮件地址,它就可以工作:

var name = 'puf'; // TODO: read this from the form where the user enters their username
var password = 'geheim';
var email = name + '@whateverdomain.com';
ref.createUser({ email: email, password: password}...

请注意,用户将无法使用此方法接收密码恢复电子邮件。

更新 functions-samples 仓库中有一个 how to implement username+password sign-in 的例子。