2015-11-12 30 views
5

我試圖在我的應用程序內部實現一個IDP(SAML2)服務器。鑑於我的應用程序具有所需的全部數據,我不希望我的任何合作伙伴要求我們的客戶註冊。使用Kentor.AuthServices.StubIdp作爲生產IDP

我對SAML2協議不是很熟悉。我發現項目Kentor.AuthServices.StubIdp是最有趣的,因爲它實現了我需要的一切。我也意識到它不是爲生產目的而構建的。

我打算在StubIdp上建立IDP,因爲我買不起昂貴的解決方案,如ComponentPro

有沒有更好的選擇?建立在StubIdp之上是一個好主意嗎?

回答

3

SAML2登錄可通過兩種方式來完成:

  1. SP發起的,其中SP發送AuthnRequest到IDP,並用SamlResponse的IDP答案。
  2. Idp-initaited,Idp發送未經請求的SamlResponse。

Kentor.AuthServices(驅動StubIdp的庫)包含Idp發起的登錄所需的所有內容。在Stub Idp源代碼中查看它是如何完成的。

正確執行SP發起的登錄比較複雜,因爲Idp應該對傳入的AuthnRequest進行一些驗證。這些驗證在Stub Idp中完全沒有(這是測試環境的主意)。實施SP發起的登錄絕對有可能,但要做到這一點,需要做更多的工作。