繁体   English   中英

在 Javascript 中从 JWT 中提取“角色”

[英]Extract 'Roles' from a JWT in Javascript

我创建了一个令牌并将其发送到我的客户端应用程序 (ReactJS)。

{
  UserId: "1",
  http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name: "Unset",
  http://schemas.microsoft.com/ws/2008/06/identity/claims/role: Array(2), 
  exp: 1531116565,
  iss: "http://www.example.com", 
…}

角色项如下所示:

[ {0: "User"}, {1, "Admin"} ]

我不确定为什么我的角色项目被命名为 URL。 但是我想要做的是确定 JWT 是否表明用户具有管理员角色。

如何检查“管理员”的角色数组?

你可以试试这个

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 token = localStorage.getItem("x-access-token");

const role = JSON.parse(window.atob(token.split(".")[1])).role;

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM