Azure AD B2C自定义passwordless登录注册策略报256位加密密钥错误
Azure AD B2C 无密码流256位加密密钥报错解决方案
- 优先排查无密码流专属对称密钥配置
无密码登录场景需要额外创建一个用于加密邮箱验证令牌的策略密钥,进入Azure AD B2C管理中心的「身份体验框架」-「策略密钥」页面创建密钥:- 类型选择手动,用途选择加密,密钥类型选择
Secret - 密钥值必须为32字符(256位)的Base64编码字符串,可通过以下PowerShell命令生成符合要求的密钥:
$bytes = New-Object Byte[] 32; [Security.Cryptography.RNGCryptoServiceProvider]::Create().GetBytes($bytes); [Convert]::ToBase64String($bytes) - 保存后确认你的自定义策略中引用该密钥的容器名称、大小写和你创建的完全一致,不要开启密钥轮换。
- 类型选择手动,用途选择加密,密钥类型选择
- 检查基础策略通用密钥配置
确认B2C_1A_TokenSigningKeyContainer、B2C_1A_TokenEncryptionKeyContainer两个默认策略密钥配置正确:- 类型选择生成,用途分别对应「签名」、「加密」,密钥类型选择
RSA,长度选择2048位 - 不要手动修改这两个密钥的默认配置,异常时删除后重新生成即可。
- 类型选择生成,用途分别对应「签名」、「加密」,密钥类型选择
- 检查信赖方策略配置
打开你的信赖方(RP)策略文件,确认RelyingParty节点下的TokenIssuer段落没有配置错误的加密声明规则,如果存在EncryptedClaims配置,对应的加密密钥必须为上述256位对称密钥。 - 配置更新后测试
按「基础策略→扩展策略→信赖方策略」的顺序重新上传所有策略文件,使用浏览器隐私模式测试,避免旧策略缓存导致报错重复触发。
内容的提问来源于stack exchange,提问作者Vibhooti Singh Visen
相关产品推荐
相关产品推荐

