使用 Firebase 创建具有客户端角色的用户



我正在尝试使用 Firebase 进行首次登录和身份验证,我需要三个角色

学生、教师、管理员

我的导航栏应该根据登录用户的角色呈现不同的内容,我已经看到有一种方法可以将角色与 firebase 一起使用 https://firebase.google.com/docs/auth/admin/custom-claims

但是如果我没有误解它,它应该在后端完成(我正在使用 spring)

我应该在客户端的每一刻都知道这个角色,我该怎么做?

不能在客户端上创建自定义声明。 这将是一个安全漏洞,因为用户只需修改代码即可访问任何内容。 为此,您需要在服务器上使用管理员 SDK。

还有用于访问客户端上的自定义声明的文档。 您可以在 Firebase 身份验证用户对象上使用 getIdTokenResult()。 例如:

firebase.auth().currentUser.getIdTokenResult()
.then((idTokenResult) => {
// Confirm the user is an Admin.
if (!idTokenResult.claims.admin) {
// Show admin UI.
showAdminUI();
} else {
// Show regular user UI.
showRegularUI();
}
})
.catch((error) => {
console.log(error);
});

最新更新