我已经实现了 SPA 和 express.js WEB Api 应用程序,SPA 使用 msal.js V2 进行身份验证并获取 access_token,包括角色:[] 和 spc:[] 包含正确的角色和范围。
WEB Api 使用接收到的 access_token 调用,它在 API 端使用使用 BearerStrategy 初始化的 passport-azure-ad 库进行解码。它从令牌中提取信息,但最终抛出错误:身份验证失败,原因是:在 Strategy.prototype.jwtVerify 中:令牌中的任何范围“Execute.Api”都不被接受,其中Execute.Api是我的自定义范围。
如果有人帮助我解决这个问题会很棒,因此项目处于关键阶段。