我想根据用户的 Angular 色对用户进行身份验证。例如,我有 3 种类型的 Angular 色:普通用户、高级用户和管理员。每种类型的用户在登录时都会被重定向到特定页面。
根据官方文档,我只对一种类型的用户进行了简单的身份验证。 我想知道如何注册具有不同 Angular 色的用户,然后将它们分别记录到特定页面。
最佳答案
根据预先存在的“管理员”和“高级”用户列表来控制每个用户所看到的体验的最简单方法可能是使用自定义声明。
如果您仅使用标准 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);
});
关于javascript - 多角色身份验证 Firebase Web,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48772883/