我使用 itfoxtec 来构建 saml 身份提供商,并复制此存储库的代码: https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/tree/master/test/TestIdPCore
当我在项目 testwebappcore 中使用此存储库上的示例时,一切正常,但是当我尝试配置 github enterprise 以便与 TestIdPCore idp 提供商建立 sso 机制时,我遇到了问题 这是github配置:
证书是testwebappcore项目中itfoxtecrootcertificate.crt文件的内容
我已经添加了github组织的依赖方元数据
我们可以在这里查看此问题的完整代码:
并且可以将范围缩小到以下摘录:
if (relyingParty != null)
{
rpConfig.SignatureValidationCertificates.AddRange(relyingParty.SignatureValidationCertificates);
我们知道
relyingParty
本身不是 null
,否则代码不会到达有问题的行。因此,SignatureValidationCertificates
属性必须为空。
要解决此问题,您需要找到依赖方将使用的签名验证证书,并使用依赖方配置进行设置。 (提示:这是可能的但强烈不建议没有签名验证证书,在这种情况下您可能需要更新itfoxtec代码以跳过此操作。)
你如何做到这一点超出了我的经验。我已经在一个项目中使用了这个库,并且作为依赖方而不是身份提供者。