Firebase Admin SDK - 创建没有密码的用户是否安全?
Firebase Admin SDK - is it safe to create users without passwords?
我在 Firebase 网络应用程序上管理自己的电子邮件登录,因此我发送验证电子邮件并在云功能中创建经过身份验证的用户。以下是我目前创建新用户的方式:
const admin = require('firebase-admin')
admin.initializeApp()
...
userRecord = await admin.auth().createUser({
email: signInData.email,
emailVerified: true
})
我希望将其设置为用户绝不会以任何方式创建、重置或管理密码。他们只能请求登录电子邮件。
The docs 说创建新用户时所有属性都是可选的:
Note: All of the above properties are optional. If a certain property
is not specified, the value for that property will be empty unless a
default is mentioned in the above table.
我不向用户提供重置密码的方法,因此将用户密码留空是否有风险?
没有风险。事实上,无密码登录似乎更安全,因为没有用户使用一些常见的弱密码或将它们写在某处的风险。此外,用户必须有权访问他们的电子邮件才能登录,因此除非他们与某人共享了他们的电子邮件或电子邮件被泄露,否则该帐户是安全的。
Is passwordless authentication more secure than passwords? 上有一个博客。我会推荐阅读它以获取详细信息。
我在 Firebase 网络应用程序上管理自己的电子邮件登录,因此我发送验证电子邮件并在云功能中创建经过身份验证的用户。以下是我目前创建新用户的方式:
const admin = require('firebase-admin')
admin.initializeApp()
...
userRecord = await admin.auth().createUser({
email: signInData.email,
emailVerified: true
})
我希望将其设置为用户绝不会以任何方式创建、重置或管理密码。他们只能请求登录电子邮件。
The docs 说创建新用户时所有属性都是可选的:
Note: All of the above properties are optional. If a certain property is not specified, the value for that property will be empty unless a default is mentioned in the above table.
我不向用户提供重置密码的方法,因此将用户密码留空是否有风险?
没有风险。事实上,无密码登录似乎更安全,因为没有用户使用一些常见的弱密码或将它们写在某处的风险。此外,用户必须有权访问他们的电子邮件才能登录,因此除非他们与某人共享了他们的电子邮件或电子邮件被泄露,否则该帐户是安全的。
Is passwordless authentication more secure than passwords? 上有一个博客。我会推荐阅读它以获取详细信息。