2013-04-03 57 views
1

第三方軟件通過SAML 2.0版提供了SSO功能。如何用C#和.NET 3.5創建SAML 2.0響應?

他們的文檔提供了有關他們在請求中發送的字段以及他們爲了驗證特定用戶而期待返回的字段的信息。這個概念實際上看起來非常直截了當,但我在SAML本身工作時遇到了麻煩。

到目前爲止,我能夠接收,解壓縮和解析他們的SAML請求,但我無法弄清楚如何創建一個SAML發回給他們。

我查看了SamlAssertion類,但由於我使用的是.NET 3.5版本,因此該類僅生成SAML版本1.1。

除此之外,我沒有找到關於如何創建簡單SAML響應的大量資源。

因此,問題是:如何使用C#創建簡單的SAML 2.0響應?

任何幫助表示讚賞!

謝謝!

+0

爲什麼不使用的[Windows身份驗證基礎擴展(http://blogs.msdn.com/b/card/archive/2011/05/16/announcing-在-WIF擴展換SAML-2-0-協議的社區技術preview.aspx)? – 2013-04-03 18:47:14

回答

1

看一看Working with SAML 2.0 in C# .NET 4.5其中介紹的同樣的理由。

您可以使用WIF SAML CTP,但這只是一個預覽版,並且未經過多年的升級。

否則,根據@Wiktor,使用其中一個商業堆棧。

我不知道C#中的任何開源SAML堆棧。

最接近的是其MSDN上的樣品SelfSTS project書面IIRC中C.

1

看代碼OpenSAML。

blog post詳細說明它是如何工作的。需要.Net 4.0和WIF運行時。

SelfSTS:當你需要一個SAML令牌現在現在

SelfSTS是一個簡單的.EXE文件,它不需要IIS永不 接觸證書存儲區。不需要安裝,您只需要.EXE文件本身,其配置文件和您要用於簽署令牌的證書文件PFX 。其唯一的 要求是.NET 4.0,WIF運行時和Windows SDK(如果你想要 生成額外的證書)。

SelfSTS提供了一個簡單的用戶界面用於容易地編輯類型和值的權利要求,將發射的 :元數據文件將是相應地動態更新 。

SelfSTS提供了一個用戶界面簡化自簽名的X.509證書 ,而如果你需要使用一個簽名證書 具有特定主題或如果您不能 使用該證書提供了一些原因,你可以使用的創建盒子外面。

編輯索賠 Editing Claims

+0

你確定這是一件值得考慮的事情,這就是作者所說的:「即使不得不說這些,我也覺得很愚蠢,但爲了盡職調查...... SelfSTS顯然是絕對的INSECURE,它只是一個測試玩具,因此它應該這個標記沒有檢查調用者是誰,它在普通的HTTP上執行它,它使用自簽名證書籤名標記,並將相關的密碼存儲在web配置文件的clean中。的不安全性,除了開發時在非生產系統上測試應用程序之外,不要將其用於其他任何事情。「 – Naner 2013-04-03 21:12:55

+0

是的,你只是想要一些代碼來創建一個SAML響應。這有它和更多。你可以忽略這個事實,即它是一個很酷的STS測試應用程序的一部分,你可以在其他道路上使用它。查看代碼中的內容,看看它是如何創建響應的。那就是你想要的。忽略STS零件。 – GalacticJello 2013-04-03 21:18:07

+0

好的。謝謝!我會看看它。 – Naner 2013-04-03 21:18:58