Azure可验证凭证生成的QR码5分钟即过期,求解决方案
解决Verifiable Credentials签发请求QR码5分钟过期的问题
Microsoft Entra Verified ID的签发请求QR码默认有效期为5分钟,这是平台默认的安全配置,目的是防止未授权的请求滥用。要调整有效期或解决过期问题,可以按以下方案操作:
自定义请求有效期
在调用createIssuanceRequestAPI时,通过请求体中的expiryInSeconds参数指定自定义有效期,该参数最大值为86400秒(24小时)。示例请求体如下:{ "includeQRCode": true, "expiryInSeconds": 3600, // 设置为1小时有效期 "registration": { "clientName": "你的应用名称" }, "issuance": { "type": "你的凭证类型标识", "manifest": "https://你的凭证清单URL" } }调用成功后,返回结果中的
expiry字段会对应更新为当前时间加上设置秒数后的时间戳,可通过该字段验证配置是否生效。实现QR码自动刷新机制
如果业务场景需要长期可扫描的入口(比如超过24小时),可以在应用中实现自动刷新逻辑:- 监听当前QR码的
expiry时间戳,在过期前5-10分钟重新调用createIssuanceRequestAPI生成新的请求及QR码 - 前端页面自动替换旧的QR码,用户无需手动操作即可持续使用
- 监听当前QR码的
安全注意事项
延长有效期会增加请求被拦截、恶意使用的风险,建议根据实际业务场景选择合理时长:比如现场活动场景可设置30分钟,线上预约场景可设置1小时,避免过度延长有效期。
内容的提问来源于stack exchange,提问作者Maulik Dave
相关产品推荐
相关产品推荐

