摘录';角色';来自Javascript中的JWT
我已经创建了一个令牌并将其发送到我的客户端应用程序(ReactJS) 角色项如下所示:摘录';角色';来自Javascript中的JWT,javascript,reactjs,jwt,Javascript,Reactjs,Jwt,我已经创建了一个令牌并将其发送到我的客户端应用程序(ReactJS) 角色项如下所示: [ {0: "User"}, {1, "Admin"} ] const token = localStorage.getItem("x-access-token"); const role = JSON.parse(window.atob(token.split(".")[1])).role; 我不确定为什么我的角色项被命名为URL。但我想做的是确定JWT是否指示用户具有管理员角色 如何检查“Admin
[ {0: "User"}, {1, "Admin"} ]
const token = localStorage.getItem("x-access-token");
const role = JSON.parse(window.atob(token.split(".")[1])).role;
我不确定为什么我的角色项被命名为URL。但我想做的是确定JWT是否指示用户具有管理员角色
如何检查“Admin”的角色数组?您可以试试这个
const roles = [
{0: "User"}, {1: "Admin"}
];
let isAdmin = false;
roles.map( role => {
let r = Object.values( role )
if ( r[0] == 'Admin' ) {
isAdmin = true
}
})
console.log( isAdmin );
你可以试试这个
const roles = [
{0: "User"}, {1: "Admin"}
];
let isAdmin = false;
roles.map( role => {
let r = Object.values( role )
if ( r[0] == 'Admin' ) {
isAdmin = true
}
})
console.log( isAdmin );
也许是这样的:
[ {0: "User"}, {1, "Admin"} ]
const token = localStorage.getItem("x-access-token");
const role = JSON.parse(window.atob(token.split(".")[1])).role;
也许是这样的:
[ {0: "User"}, {1, "Admin"} ]
const token = localStorage.getItem("x-access-token");
const role = JSON.parse(window.atob(token.split(".")[1])).role;
数组中的项是否是对象或字符串,以及是否有什么东西在奇怪地渲染输出?第二项中类似索引的键和逗号(而不是冒号)使其难以确定。数组中的项是对象还是字符串,以及输出是否呈现异常?第二项中的索引键和逗号(而不是冒号)很难确定。谢谢@GansPotter-我不知道如何引用角色,但从我的jwt来看,属性的“名称”似乎是“”。@Craig,如果角色总是带有url和有效的json,那么这可能会帮助您-->const token={'UserId':'1','':'Unset','':[{0:'User'},{1:'Admin'},'exp':1531116565};let roles=[]Object.keys(token).forEach(key=>{if(key.match(/.*role$/){roles=token[key]}})let isAdmin=false;roles.map(role=>{let r=Object value(role)if(r[0]='Admin'){isAdmin=true})console.log}(isAdmin);谢谢@GansPotter-我不知道如何从jwt中引用角色,因为属性的“名称”似乎是“”。@Craig,如果角色总是带有url和有效的json,那么这可能会帮助您-->const-token={'UserId':'1','':'Unset','':[{0:'User'},{1:'Admin'},'exp 1531116565};let-roles=[]Object.keys(token).forEach(key=>{if(key.match(/.*role$/){roles=token[key]}})让isAdmin=false;roles.map(role=>{let r=Object.values(role)if(r[0]='Admin'){isAdmin=true})控制台.log(isAdmin);