我想验证OKTA访问 token 。
我在nodejs中创建了一个简单的用例,但出现权限错误,但没有找到解决此问题的解决方案。
这是我的代码:
const OktaJwtVerifier = require('@okta/jwt-verifier');
const issuer = '{{url}}';
const cid = '{{clientid}}'
const oktaJwtVerifier = new OktaJwtVerifier({
issuer: `http://${issuer}.com/oauth2/default`,
assertClaims: {
cid
}
})
oktaJwtVerifier.verifyAccessToken("accesstoken")
.then(jwt => {
// the token is valid
console.log(jwt.claims);
})
.catch(err => {
console.log(JSON.stingify(err))
});
我得到这个错误:
我检查了jwt-verifier github页面,我认为它应该可以工作。
最佳答案
“默认”授权服务器还需要启用API访问管理功能标志。您有API访问管理吗?
去检查:
转到Okta仪表板>安全性> API>检查“ token ”标签旁边是否有名为“授权服务器”的标签。
如果您不这样做:
http://${issuer}.com
”而不是“issuer:http://${issuer}.com/oauth2/default
”如果是最后一种情况:
您无法在本地验证 token 。
但是,您可以将 token 发送到/ introspect端点以进行验证,或者从/ userinfo使用 token 请求更多信息。
您可以获得更多信息。关于以上来自developer.okta.com
关于javascript - Okta JWT验证程序不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/50562449/