使用 Kentor.AuthServices.StubIdp 作为生产 IDP

Using Kentor.AuthServices.StubIdp as production IDP

我正在尝试在我的应用程序中实施 IDP (SAML2) 服务器。鉴于我的应用程序具有所需的所有数据,我不希望我的任何合作伙伴要求我们的客户在他们这边注册。

我对 SAML2 协议不是很熟悉。我发现项目 Kentor.AuthServices.StubIdp 是最有趣的,因为它实现了我需要的一切。我也知道它不是为生产目的而构建的。

我计划在 StubIdp 之上构建 IDP,因为我负担不起像 ComponentPro 这样昂贵的解决方案。

有更好的选择吗?在 StubIdp 之上构建是个好主意吗?

SAML2登录有两种方式:

  1. SP 发起,其中 SP 向 Idp 发送 AuthnRequest,Idp 用 SamlResponse 回答。
  2. Idp-initaited,其中 Idp 发送未经请求的 SamlResponse。

Kentor.AuthServices(驱动 StubIdp 的库)包含 Idp 启动的登录所需的一切。在 Stub Idp 源代码中查看它是如何完成的。

正确执行 SP 启动的登录更加复杂,因为 Idp 应该对传入的 AuthnRequest 进行一些验证。 Stub Idp 中完全没有这些验证(这是测试环境的想法)。实施 SP 发起的登录绝对是可能的,但要安全地做到这一点,还需要做很多工作。