我正在开发一个部署为 azure 网站的 Nodejs 应用程序。我正在使用 JWT token 进行身份验证 jws 。这使用了底层的 Node 加密模块。
我创建了自签名 RSA256 证书,并使用我的应用程序上传了这些文件。该应用程序使用私钥创建 jwt token ,没有出现问题。但是,当它验证来自客户端请求的 jwt token 时,它会失败并抛出以下异常;
Exception Details: System.IdentityModel.SignatureVerificationFailedException: IDX10503: Signature validation failed. Keys tried: 'System.IdentityModel.Tokens.X509AsymmetricSecurityKey System.IdentityModel.Tokens.X509AsymmetricSecurityKey
Azure 使用iisnode ,用于 iis Node 集成。当我在 Windows 2008 R2 服务器上本地运行此程序时,我的应用程序验证 token 没有任何问题。
我通过命令行 Node 、Visual Studio 在线编辑器运行了一个测试 javascript 文件,以测试 token 创建和验证。该测试运行良好,这表明实际主机有能力处理解密。
我的问题; 1)有人在azure Node JS应用程序上使用过JWT吗? 2)您遇到过这种异常吗?
提前致谢。
请您参考如下方法:
终于解决这个问题了。我必须做两件事来解决这个问题。
- 禁用我为该网站启用的 azure AD 身份验证。
- 删除 RSS 私钥的密码保护。该证书仅在后端使用。所以这很好。