我已遵循有关在Azure B2C中设置自定义策略以使其充当SAML IDP的指南。我已经将该元数据提供给我的SP应用程序(CompleteFTP),并尝试执行SP初始化的SSO。
AuthNRequest由SP应用程序制定并签名。然后通过客户端浏览器将其重定向到IDP。
在任何用户流发生之前,IDP都会生成并返回响应。
<samlp:Status><samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Requester"/>
<samlp:StatusMessage>Invalid signature.</samlp:StatusMessage>
<IsPolicySpecificError>false</IsPolicySpecificError>
</samlp:Status>
因此,这似乎很明显,urn:oasis:names:tc:SAML:2.0:status:Requester
是IDP责备SP并声明其在其请求中发送了Invalid signature.
。
问题是我真的找不到从这里去的地方!
到目前为止我尝试过的事情:
目前,这似乎表明Azure B2C SAML IDP流所使用的签名验证存在问题,但是那怎么可能呢?其他人有这个工作!
行程记录器摘录:
{
"Kind": "Predicate",
"Content": "Web.TPEngine.StateMachineHandlers.InitiatingMessageValidationHandler"
},
{
"Kind": "HandlerResult",
"Content": {
"Result": false,
"RecorderRecord": {
"Values": [
{
"Key": "Validation",
"Value": {
"Values": [
{
"Key": "SubmittedBy",
"Value": "Application"
},
{
"Key": "ProtocolProviderType",
"Value": "SamlProtocolProvider"
},
{
"Key": "Exception",
"Value": {
"Kind": "Handled",
"HResult": "80131500",
"Message": "Invalid signature.",
"Data": {
"IsPolicySpecificError": false
}
}
}
]
}
}
]
}