Asp.Net core 中的多个 Sustainsys saml2 配置

问题描述 投票:0回答:1

我添加了多个 Same2 配置,第一个配置工作正常,但不适用于第二个配置。

我有多个具有不同架构的 Saml 配置,如下所示。

.AddSaml2("SCHM-MI", options =>
            {
                options.SPOptions.EntityId = new EntityId("SCHM-MI");
                options.IdentityProviders.Add(new IdentityProvider(
                    new EntityId(".............."), options.SPOptions)
                {
                    MetadataLocation = "...................",
                    LoadMetadata  = true
                });
            })
           .AddSaml2("SCHM-GL",options =>
            {
                options.SPOptions.EntityId = new EntityId("SCHM-GL");
                options.IdentityProviders.Add(new IdentityProvider(
                    new EntityId(".................."), options.SPOptions)
                {
                    MetadataLocation = "............",
                    LoadMetadata = true
                });
            }); 

这是我登录时的挑战请求。

return new ChallengeResult(
                     "SCHM-GL",
                     new AuthenticationProperties
                     {
                         RedirectUri = Url.Action(nameof(LoginCallback), new { returnUrl = "http://localhost:4200/callback" }),
                     });

此配置适用于“SCHM-MI”,但不适用于“SCHM-GL”。我根据请求收到以下错误。

KeyNotFoundException:未找到实体 ID 为“GL 实体 ID”的 Idp。
Sustainsys.Saml2.Configuration.IdentityProviderDictionary.get_Item(EntityId实体Id)

我正在使用最新版本的 Sustainsys.Saml2.AspNetCore2。

谢谢
伊姆兰坎·帕坦

authentication saml-2.0 sustainsys-saml2
1个回答
0
投票

这个问题你解决了吗?我没有收到确切的错误,但收到错误“签名已使用签名中包含的密钥正确验证,但该密钥不受信任。”。但仅限于我添加的第二个架构。如果我颠倒添加它们的顺序,那么它会起作用,但另一个会失败。

© www.soinside.com 2019 - 2024. All rights reserved.