Canvas LMS LTI 1.3 集成生产环境JWS签名无效400错误求助
Canvas LTI 1.3 集成JWS签名无效问题修复方案
- 调整JWT有效期:你当前JWT payload里的
exp与iat差值为48小时,Canvas生产环境要求该JWT的有效期最大不能超过3600秒(1小时),超过时长限制会直接触发签名校验失败,这是该类问题最高发的原因。 - 修正
iss字段取值:生产环境下iss字段必须填写Canvas开发者密钥对应的客户端ID,不能填写Canvas实例地址,开发环境通常校验宽松不会拦截该错误,生产环境会严格校验字段匹配性。 - 校验签名算法一致性:确认生成JWT时使用的签名算法为RS256,且和开发者密钥配置中JWK的
alg字段取值完全一致,禁止使用HS256等对称加密算法。 - 核对域名匹配性:
aud字段填写的token接口地址必须和客户生产环境Canvas的根域名、协议完全一致,不能出现http/https混用、域名拼写错误、带开发环境后缀的问题。 - 确认开发者密钥状态:核实客户生产环境的对应开发者密钥已经启用,且配置的公钥/JWK URL和你方生产环境使用的密钥对完全匹配,没有混用开发环境密钥的情况。
内容的提问来源于stack exchange,提问作者Brandon
相关产品推荐
相关产品推荐

