SSO 将身份服务器与 SAML 2 与其他身份提供者一起使用
SSO using Identity Server with SAML 2 with other Identity Providers
我使用 Identity Server 4 和 OIDC 实现了身份验证和授权,以允许客户端访问我们的应用程序以获得必要的令牌来访问我们的资源服务器(Web API)。这是当前的架构:
- Identity Server 4 使用我的自定义数据库对用户进行身份验证
- 资源 API(ASP.NET 核心)
- Angular 2前端
我需要实施 SSO,来自其他系统的用户将传递来自其身份提供商的 SAML2 断言,以允许他们访问我们的资源 API,而无需登录我们的应用程序。
我对这一步将在哪里发生、工作流程是什么、我们的身份服务器是否会参与这个过程以及如何使用身份服务器 4 实现这一点有些困惑。
目前 ASP.NET Core 不支持 SAML2。
如果您使用的是 IdentityServer3,则可以通过 Kentor 身份验证中间件充当 SAML2 SP。这还不适用于 ASP.NET Core。
一般来说 - 您不能使用 SAML2 来保护 APIs - 它是一种用于基于 Web 的 SSO 的协议 - 而不是 API 访问。
我使用 Identity Server 4 和 OIDC 实现了身份验证和授权,以允许客户端访问我们的应用程序以获得必要的令牌来访问我们的资源服务器(Web API)。这是当前的架构:
- Identity Server 4 使用我的自定义数据库对用户进行身份验证
- 资源 API(ASP.NET 核心)
- Angular 2前端
我需要实施 SSO,来自其他系统的用户将传递来自其身份提供商的 SAML2 断言,以允许他们访问我们的资源 API,而无需登录我们的应用程序。
我对这一步将在哪里发生、工作流程是什么、我们的身份服务器是否会参与这个过程以及如何使用身份服务器 4 实现这一点有些困惑。
目前 ASP.NET Core 不支持 SAML2。
如果您使用的是 IdentityServer3,则可以通过 Kentor 身份验证中间件充当 SAML2 SP。这还不适用于 ASP.NET Core。
一般来说 - 您不能使用 SAML2 来保护 APIs - 它是一种用于基于 Web 的 SSO 的协议 - 而不是 API 访问。