我想根据用户的身份对用户进行身份验证。例如,我有3种类型的角色:普通用户,高级用户和管理员。每种类型的用户在登录时都会被重定向到特定页面。
我只根据官方文档设法对一种类型的用户进行简单的身份验证。 我想知道如何注册具有不同角色的用户,然后将每个用户登录到特定页面。
答案 0 :(得分:0)
最简单的方法来控制每个用户根据预先存在的" Admin"和" Premium"用户可能会使用自定义声明。
如果您只是使用标准的Firebase登录信息,那么执行此操作的方法将使用Admin SDK。
如果您想在注册时验证用户,则您希望使用custom login system来控制注册。您也可以从那里设置自定义声明。
用户登录后,您可以将其重定向到正确的页面。
firebase.auth().signInWithEmailAndPassword(email, password)
.catch(function(error) {
// Handle Errors here.
}).then(function(){
firebase.auth().currentUser.getIdToken()
.then((idToken) => {
// Parse the ID token.
const payload = JSON.parse(b64DecodeUnicode(idToken.split('.')[1]));
// Confirm the user is an Admin.
if (!!payload['admin']) {
redirectAdminUI();
}
})
.catch((error) => {
console.log(error);
});