saml-2.0 - IDP 与 ITfoxtec 启动了 SAML 流程

标签 saml-2.0 itfoxtec-identity-saml2 duende-identity-server

我正在设置 IDP 发起的 SAML 身份验证流程

我们的一个客户将通过单击其内部系统中的链接来访问我们的应用程序,从而向我们发送 SAML 断言请求 - 因此我们充当服务提供商(我们使用 Duende 的 Identity Server 进行身份验证)

我们正在考虑使用 ITfoxtec.Identity.Saml2.MvcCore 库

由于我们要使用 IDP 发起的 SAML 流程,我想检查一下是否

  1. 作为 SP(服务提供商),我们只需要为传入的 SAML 断言提供 ACS 端点。收到断言后,我们可以处理它以获得我们需要的声明,如果它满足我们的要求,我们可以授予对我们应用程序的访问权限。

  2. 我们是否需要向向我们发送断言的 IDP 发回任何通知?

  3. 收到断言后进行验证后,我们是否在身份服务器中设置访问 token ,或者在断言中获取 token 。我们需要定期检查与传入断言关联的用户是否仍在 IDP 中经过身份验证。因此,我想知道 IDP 是否会颁发带有到期日期/时间的 token ,如果不是,那么我们是否必须启动一个新的 SP 发起的 SAML 流程来检查用户是否仍通过客户端 IDP 进行身份验证?

  4. 作为 SP,我们需要发行自己的访问 token 吗?

  5. 对于注销,我们只想将用户从我们的系统中注销(因此,如果我们发出 token ,请删除我们的 token ,我们不想从他们的 IDP 中注销用户?

  6. 我们是否需要在身份提供程序中模拟登录,或者当我们将 SAML2 添加到startup.cs 中的身份验证方法时会自动发生吗

  7. 我们是否像在 .netCore 5.0 设置中使用 Duende IdentityServer 一样使用 ITfoxtec.Identity.Saml2.MvcCore 库

  8. ITfoxtec 库可以实现这一点吗?

    services.AddAuthentication() .AddSaml2(选项=> { var spOptions = 新 SPOptions { EntityId = new EntityId("https://localhost:44373/Saml2"), ReturnUrl = new Uri("https://localhost:44373"), MinIncomingSigningAlgorithm = "http://www.w3.org/2000/09/xmldsig#rsa-sha1",
    };

        options.SPOptions = spOptions;
        options.IdentityProviders.Add(new IdentityProvider(new EntityId("https://www.example.com/SSO/SAML/App"), options.SPOptions)
        {
            AllowUnsolicitedAuthnResponse = false,                  
            MetadataLocation = "https://www.example.com/SSO/SAMLMetadata/App",                  
            LoadMetadata = true,                  
        }); 
    });
    

最佳答案

  1. 是的,您只需要 ACS 端点。如果 IdP 支持,您也可以注销。
  2. 没有
  3. 您在断言中重新保存了具有生命周期的 SAML 2.0 token 。要检查用户状态,您需要 IdP 启动新的 IdP 发起的登录,或者您可以启动 SP 发起的登录(如果 IdP 支持)。
  4. 没有。这与 SAML 2.0 集成没有任何关系。
  5. 在 IdP 发起的场景中,SP 通常不会请求 IdP 注销。
  6. 您需要模拟IdP发起的登录,可以使用这个code sample .
  7. 您可以将 ITfoxtec Identity Saml2 集成到 Duende IdentityServer,但我没有这方面的示例。

关于saml-2.0 - IDP 与 ITfoxtec 启动了 SAML 流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/73282319/

相关文章:

azure - 发布 Blazor WASM 项目时 Net7 JWT 空引用?

.net - Azure 应用服务 .net6 部署 - 错误 : EISDIR: illegal operation on a directory, 打开 '/home/site/wwwroot/wwwroot/Identity/lib/bootstrap/LICENSE'

authentication - OpenID Connect 适用于物联网吗?

saml - 如何在 java 或 node 中为 SAML 创建自己的 IDP

c# - ADFS 4.0 与 SAML 2.0 自动联合登录

saml - ITfoxtec SAML 2.0 session 超时

asp.net - 如何使用 http-redirect 实现单点注销

saml - 配置 Ping Federate 和 Spring SAML 以验证应用程序

saml-2.0 - 我如何在 ASP.Net Core 2.1 mvc 应用程序中包含 System.Identitymodel 4.0