自定义策略中的 ClaimsTransformation 错误

ClaimsTransformation error in custom policy

在 Azure B2C 上,我创建了一个自定义策略以使用 SAML 协议连接 Spring 应用程序。 此应用程序使用 SAML 连接到 B2C,然后 B2C 使用 KeyCloak 上的外部 IDP 来执行身份验证。

我按照 this documentation 在 KeyCloak 上设置我的客户端。

当我通过 Chrome 控制台在我的 spring 应用程序中登录时,每个网络调用似乎都正常,但最后一个 SAML 断言我收到此错误

Response has invalid status code urn:oasis:names:tc:SAML:2.0:status:Responder, status message is Id:3e00c8b4-d645-44f9-a3ab-fd3400bee95c ; Message: A claim with id 'issuerUserId' was not found, which is required by ClaimsTransformation 'CreateAlternativeSecurityId' with id 'CreateAlternativeSecurityId' in policy 'B2C_1A_signup_signin_saml' of tenant 'mytenant.onmicrosoft.com'.

我觉得问题在

<OutputClaimsTransformation ReferenceId="CreateAlternativeSecurityId"/>

但我不知道如何解决。有什么建议吗?

问题出在 SAML 到 B2C 声明的映射中。

参考this.

没有任何内容被映射到“issuerUserId”,或者如果有映射,它正在映射 SAML 端不存在的内容。