gpt4 book ai didi

node.js - Firebase Admin SDK - 使用自定义字段创建用户

转载 作者:行者123 更新时间:2023-12-05 02:15:48 24 4
gpt4 key购买 nike

我一直在关注 Firebase SDK Admin - Manager User文档和一切都通过它的系统为我找到了。无论哪种方式,我都想用名字、姓氏、国籍等字段扩展我的用户信息。

现在我正在使用 Vue.JS(前端)、Axios(Http 客户端)和 Express.js(服务器)来管理我的项目,这是我创建用户的方式:

Vue.JS createUser 方法:

createUser() {
axios.post('http://localhost:3000/users',
{
username: this.username,
email: this.email,
firstName: this.firstName,
lastName: this.lastName,
password: this.password,
}).then(r => {
console.log(r)
}).catch(e => {
console.log(e)
})
// createUser
}

每个字段:usernameemailfirstName 等...从一个通用的 HTML 表单中获取其值,它们工作得很好.

这是我在服务器端的“用户创建”路由:

router.post('/', function (req, res, next) {
firebase.auth().createUser({
email: req.body.email,
username: req.body.username,
firstName: req.body.firstName,
lastName: req.body.lastName,
emailVerified: false,
password: req.body.password,
disabled: false
}).then(function(userRecord) {
console.log("Successfully created new user:", userRecord.uid);
}).catch(function(error) {
console.log("Error creating new user:", error);
});
});

这就是我检索用户信息的方式:

router.get('/', function(req, res, next) {
firebase.auth().listUsers()
.then(function(listUsersResult) {
res.send(listUsersResult.users);
}).catch(function(error) {
console.log("Error listing users:", error);
})
});

问题是我无法获取我添加的自定义字段(或者它们根本不存在)。这是我使用下一个方法获取数据后的图片:

getItems() {
axios.get('http://localhost:3000/users').then(r => {
this.users = r.data
}).catch(e => {
console.log(e)
})
},

enter image description here

有没有一种方法可以在我的用户创建时设置自定义字段,或者(如果我的过程是正确的)一种检索它们的方法?

最佳答案

Firebase 用户不可自定义,遗憾的是您无法向用户添加自定义字段... check out these docs for the properties of this object .另请查看 this question & answer Frank 解释说您需要单独存储任何额外信息...这通常在数据库中的表(命名为 /userDetails)中完成。

2022 年 2 月编辑:

自从写了这个答案,custom user claims现在是一件事。它用于身份验证/规则目的,而不是数据存储,因此大多数内容仍应如最初所述保留在数据库中。请注意,您可以 access the custom fields client-side .

请记住,这是将附加数据添加到随每个服务器请求一起发送的 ID token 中,因此您应该尝试将其使用限制在基于角色/权限的事物上,而不是例如第二个人资料的图像数据化身。阅读 best practices for custom claims在官方文档上。

关于node.js - Firebase Admin SDK - 使用自定义字段创建用户,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51108189/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com