簡體   English   中英

如何使用C#和.NET 3.5創建SAML 2.0響應?

[英]How to create SAML 2.0 response with C# and .NET 3.5?

第三方軟件通過SAML 2.0版提供SSO功能。

他們的文檔提供了有關他們將在請求中發送哪些字段以及為了對特定用戶進行身份驗證而期望返回的字段的信息。 這個概念實際上看起來很簡單,但是我在使用SAML本身時遇到了麻煩。

到目前為止,我已經能夠接收,解壓縮和解析他們的SAML請求,但是我不知道如何創建一個SAML發送回他們。

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

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

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

任何幫助表示贊賞!

謝謝!

由於SAML使用XmlDsig來提高消息級別的安全性,因此您可以根據規范手動創建令牌,然后僅使用SignedXml類對Xml進行簽名。

另外,看看這個

http://www.componentspace.com/Products/SAMLv20.aspx

看一下在C#.NET 4.5中使用SAML 2.0,它涵蓋了幾乎相同的領域。

您可以使用WIF SAML CTP,但這只是預覽,並且尚未升級。

否則,按照@Wiktor,使用商業堆棧之一。

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

最接近的是用C編寫的IIRC的OpenSAML。

在MSDN上的示例SelfSTS項目中查看代碼。

這篇博客文章詳細介紹了它是如何工作的。 需要.Net 4.0和WIF運行時。

SelfSTS:當您現在需要SAML令牌時,現在就開始

SelfSTS是一個簡單的.EXE文件,不需要IIS,也永遠不會觸摸證書存儲。 無需安裝,您只需要.EXE文件本身,其配置文件以及要用於簽名令牌的證書的PFX文件。 它的唯一要求是.NET 4.0,WIF運行時和Windows SDK(如果要生成其他證書)。

SelfSTS提供了一個簡單的UI,可輕松編輯它將發出的聲明的類型和值:元數據文檔將相應地動態更新。

SelfSTS提供了一個用於簡化創建自簽名X.509證書的UI,如果您需要使用具有特定主題的簽名證書,或者由於某種原因無法使用開箱即用的證書,則可以使用該UI。

編輯聲明 編輯聲明

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM