zav*_*tra 3 javascript firebase firebase-authentication google-cloud-functions
在我注册了特定用户后,有什么方法可以阻止更多用户注册 Firebase?例如,如果我只希望注册 10 个特定用户而不是更多,有没有办法关闭未来的注册?
经过一番挖掘,即使文档中没有正式列出此方法,我发现您可以自动删除使用 Cloud Functions 和管理 SDK 注册后创建的任何新用户。这是我在尝试注册时用于删除任何新用户的代码:
exports.deleteNewUser = functions.auth.user().onCreate((event) => {
const uid = event.data.uid; // The Firebase user.
admin.auth().deleteUser(uid)
.then(function() {
console.log("Successfully deleted user");
})
.catch(function(error) {
console.log("Error deleting user:", error);
});
});
Run Code Online (Sandbox Code Playgroud)
更新:Firebase 还引入了撤销令牌 API。这很重要的原因是因为当用户注册时,即使他们被立即删除,他们也会获得一个有效的令牌,该令牌至少可以保持几分钟的身份验证,如果不是更长的话。考虑使用以下方法在删除后立即撤销用户的令牌:
admin.auth().revokeRefreshTokens(uid)
.then(() => {
return admin.auth().getUser(uid);
})
Run Code Online (Sandbox Code Playgroud)
对于截至 21 年 3 月 21 日偶然发现此帖子的任何人,Firebase 已实施一项功能,可在身份平台页面上禁用用户创建/删除。
请参考, https://github.com/firebase/firebaseui-web/issues/99#issuecomment-794537000
您现在不再需要创建 API 来处理用户身份验证,只是为了禁用用户创建/删除。
| 归档时间: |
|
| 查看次数: |
3731 次 |
| 最近记录: |