3

我们的服务提供商要求提供以下有关 SAML 集成的信息。

现在这是我第一次尝试使用 SAML,我需要构建身份提供程序,并且我想使用ASP.NET Core Identity进行用户身份验证。

据我了解,流程将是

  1. 在服务提供商站点上,他们有一个使用 SAML SSO 登录的按钮
  2. 单击该按钮将重定向到身份提供者的登录页面
  3. 输入用户名和密码,并使用 asp.net 核心身份对我们的数据库进行身份验证
  4. 如果成功,返回索赔信息
  5. 登录到服务提供商站点

我研究并发现了几个与 ASP.NET Core 的开源 SAML 集成,例如 Sustainsys 或 ITfoxtec。Sustainsys 有几个样本,看起来SampleIdentityServer4AspNetIdentity是要走的路。

  1. 使用 .net 身份构建身份提供者是否合适?
  2. 什么是new EntityId("https://localhost:44342/Saml2")new EntityId("http://localhost:52071/Metadata")在哪里,我在Startup.cs哪里可以获得这些值?

任何指导将不胜感激。

4

1 回答 1

1

您描述的登录流程是正确的。

可以使用 ITfoxtec.Identity.Saml2 包和 ASP.NET Core Identity 构建身份提供程序。我已经多次使用 ITfoxtec.Identity.Saml2 包实现身份提供程序。但是你需要意识到实施一个安全的解决方案,它需要完成,否则你会给黑客留下很多可能性:)

new EntityId("https://localhost:44342/Saml2")是您自己定义的身份提供者 ID。

指向 ASP.NET Core 身份提供程序示例应用程序的链接 https://github.com/ITfoxtec/ITfoxtec.Identity.Saml2/tree/master/test/TestIdPCore。但是,示例应用程序未使用 ASP.NET Core 标识。

于 2020-02-13T08:53:43.613 回答