Single sign on SSO使用具有SAML 2的Identity Server和其他身份提供程序

Single sign on SSO使用具有SAML 2的Identity Server和其他身份提供程序,single-sign-on,saml-2.0,thinktecture-ident-server,identityserver4,Single Sign On,Saml 2.0,Thinktecture Ident Server,Identityserver4,我使用带有OIDC的Identity server 4实现了身份验证和授权,以允许访问我们的应用程序的客户端获得访问我们的资源服务器(web API)所需的令牌。这是当前的体系结构: Identity Server 4使用我的自定义数据库对用户进行身份验证 资源API(ASP.NET核心) 角2前端 我需要实现SSO,来自其他系统的用户将从他们的身份提供者传递SAML2断言,以允许他们访问我们的资源API,而无需登录到我们的应用程序 我对这一步将在哪里进行、工作流程是什么、我们的identi

我使用带有OIDC的Identity server 4实现了身份验证和授权,以允许访问我们的应用程序的客户端获得访问我们的资源服务器(web API)所需的令牌。这是当前的体系结构:

  • Identity Server 4使用我的自定义数据库对用户进行身份验证
  • 资源API(ASP.NET核心)
  • 角2前端
我需要实现SSO,来自其他系统的用户将从他们的身份提供者传递SAML2断言,以允许他们访问我们的资源API,而无需登录到我们的应用程序


我对这一步将在哪里进行、工作流程是什么、我们的identity server是否会参与这一过程以及如何使用identity server 4实现这一点有些困惑。

目前,ASP.NET Core没有SAML2支持

如果您使用的是IdentityServer3,则可以通过Kentor身份验证中间件充当SAML2 SP。这还不适用于ASP.NET Core


一般来说,您不能使用SAML2来保护API—它是一种用于基于web的SSO的协议—而不是API访问。

非常感谢您的回答。我希望继续使用ID为srv的OIDC,但我希望支持其他SAML2客户机,以便身份验证由ID服务委托和处理。如果此方法尚未实施,是否有近期发布的计划?你现在能给我推荐什么解决方法吗?感谢…作为SAML SP的角色-我们需要等待Kentor对ASP.NET Core的支持-作为SAML IdP的角色,这将是一个商业附加组件。请联系我。查看我在此处发布的答案()。我的SAML端点(.NET 4.5.2)可以进行身份验证,然后通过Identity Server 4 client secret将用户重定向到我们的Angular 2 web应用程序。另一个好处是,这不是SAML特有的。任何受信任的应用程序现在都可以通过Identity Server 4将用户SSO到我的Angular 2应用程序中。