【发布时间】:2019-03-09 17:44:29
【问题描述】:
我在验证 v2 端点颁发的 Azure idtoken 的令牌签名时遇到问题。
我已经阅读了文档(https://docs.microsoft.com/en-us/azure/active-directory/develop/v1-id-and-access-tokens#validating-tokens),也有一些示例代码,但这里指的是 TS/JS 以外的语言。
目前我的代码是
import {
decode,
verify
} from 'jsonwebtoken';
const token = 'myRand0mIdtoken...meh';
const key = 'key from -->'; // https://login.microsoftonline.com/common/discovery/v2.0/keys
console.log(
decode(token), //works fine!
verify(token, key) //JsonWebTokenError: invalid algorithm
);
我该怎么办?解码有效,但验证无效。
站点https://login.microsoftonline.com/common/discovery/v2.0/keys 指向一个包含“keys”数组的 JSON 文档。这包含多个关键对象。其中,我使用了“kid”值与 idToken 标题中的“kid”值匹配的元素。
在这个元素中有两个字段,x5t 和 x5c,看起来像公钥。我都试过了,但没有运气。
亲切的问候
【问题讨论】:
标签: node.js jwt azure-active-directory