我有一个SPA,它正在使用隐式流来获取access_token。在后端API上,access_token验证工作正常,但是,当我在assertClaims中包含groups.includes
时,出现401错误。我已经从Okta开发者控制台将该用户添加到了这个新组中。
我的代码段:
oktaJwtVerifier.verifyAccessToken(accessToken)
.then((jwt) => {
req.jwt = jwt;
next();
})
.catch((err) => {
res.status(401).send(err.message);
});
如果assertClaims包含组,则不起作用:
const oktaJwtVerifier = new OktaJwtVerifier({
clientId: 'some_SPA_clientId',
issuer: 'https://dev-123456.okta.com/oauth2/default',
assertClaims: {
'groups.includes': ['TestAnotherGroup'],
aud: 'api://default',
cid: 'some_SPA_clientId'
},
testing: true
});
如果我在assertClaims中删除groups.includes
,它可以正常工作,并且可以使用同一用户访问API。
使用此方法:
assertClaims: {
aud: 'api://default',
cid: 'some_SPA_clientId'
}
仅当用户属于某个组时,如何才能允许访问API。