【发布时间】:2021-10-22 15:09:03
【问题描述】:
我正在使用 B2C 自定义策略与外部 Azure AD 身份提供程序联合。 我之前与客户端机密联合时成功,但现在尝试切换到证书,并收到错误“非对称密钥没有 url 编码”。这是我作为概念证明所做的:
- 在 Azure 密钥库中生成了新的自签名证书
- 已将其导出到 .pfx 和 .cer 文件中。
- 在 B2C 中创建了一个策略密钥并将 .pfx 证书上传到那里
- 在引用该策略键的自定义策略中
<CryptographicKeys>
<Key Id="client_secret" StorageReferenceId="B2C_1A_MyB2CPolicy" />
</CryptographicKeys>
- 在证书和机密下的 Azure AD 应用注册中上传了 .cer 文件(带有公钥)
- 尝试使用 MSAL.js 进行连接
- 收到带有关联 ID 的“服务器错误”,在 appinsights 中显示为
{
"Key": "SendErrorTechnicalProfile",
"Value": "OpenIdConnectProtocolProvider"
},
{
"Key": "Exception",
"Value": {
"Kind": "Handled",
"HResult": "80131500",
"Message": "An invalid OAuth response was received: \"{0}\".",
"Data": {
"IsPolicySpecificError": false
},
"Exception": {
"Kind": "Handled",
"HResult": "80131515",
"Message": "No url encoding for asymmetric keys",
"Data": {}
}
}
}
我做错了什么?上传之前是否需要将证书转换为另一种格式?也许.pem?问题是,我在任何地方都找不到这方面的文档。
【问题讨论】:
标签: azure-ad-b2c azure-ad-b2c-custom-policy