如何从解码的 jwt 中获取声明参数
how can get claims parameter from a decoed jwt
我在我的 React 应用程序中使用 jwt-decode 解码了一个 jwt 令牌,但我无法从中获取 claims 参数,我该如何获取这些参数?例如,我将从 claims params
中获得角色
这是我的解码令牌结果:
{
aud: "SampleAudience"
exp: 1564989998
"http://schemas.microsoft.com/ws/2008/06/identity/claims/role": "SuperAdministrators"
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress": "sso_khani"
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "sso_khani"
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "ab57e777-91b6-4c4e-d709-08d715866555"
iss: "threenine.co.uk"
}
您可以要求您的后端团队以定义的键名提供值。
你还是可以的,
Object.keys(decodedObj).forEach(function (key) {
let res = key.split("/");
if (res.length > 1) {
if (res[length - 1] === 'role') {
// decodedObj[key] will be your role
}
// here you will get role, emailaddress, name, nameidentifier
}
});
如果有帮助请告诉我。
我在我的 React 应用程序中使用 jwt-decode 解码了一个 jwt 令牌,但我无法从中获取 claims 参数,我该如何获取这些参数?例如,我将从 claims params
中获得角色这是我的解码令牌结果:
{
aud: "SampleAudience"
exp: 1564989998
"http://schemas.microsoft.com/ws/2008/06/identity/claims/role": "SuperAdministrators"
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress": "sso_khani"
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/name": "sso_khani"
"http://schemas.xmlsoap.org/ws/2005/05/identity/claims/nameidentifier": "ab57e777-91b6-4c4e-d709-08d715866555"
iss: "threenine.co.uk"
}
您可以要求您的后端团队以定义的键名提供值。 你还是可以的,
Object.keys(decodedObj).forEach(function (key) {
let res = key.split("/");
if (res.length > 1) {
if (res[length - 1] === 'role') {
// decodedObj[key] will be your role
}
// here you will get role, emailaddress, name, nameidentifier
}
});
如果有帮助请告诉我。