6

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

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

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

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

4

1 回答 1

4

SAML2 登录可以通过两种方式完成:

  1. SP 发起,SP 向 Idp 发送 AuthnRequest,Idp 以 SamlResponse 应答。
  2. Idp 发起,其中 Idp 发送未经请求的 SamlResponse。

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

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

于 2015-11-13T07:07:41.763 回答