2010-09-14 84 views

回答

1

非天生。開箱即用的SAML 1.1和SAML 2.0令牌處理程序對令牌進行簽名。 要supoort未簽名的令牌,你需要創建一個從

Microsoft.IdentityModel.Tokens.Saml11.Saml11SecurityTokenHandler 
Microsoft.IdentityModel.Tokens.Saml2.Saml2SecurityTokenHandler 

覆蓋的signiture創建/驗證方法,有一羣人繼承自己的令牌處理程序,什麼也不做,你的情況。問題是你需要控制向你發放令牌的STS服務,如果它們不在你的控制之下,這可能是困難的。

+1

非常感謝您的回覆。 – rauts 2010-09-20 10:04:32

+0

好消息是,我們將創建一個可以完全控制的內部STS服務。所以如果我理解正確,我可以創建SAML 1.1和2.0簽名和未簽名的令牌。如果我需要支持未簽名的2.0令牌,我將不得不按照你提到的那樣創建我自己的令牌處理程序。你有這個實現的示例代碼嗎?再次感謝。 – rauts 2010-09-20 10:06:48

+0

不幸的是我沒有這方面的示例代碼,但是看看這些類本身並查看可覆蓋的方法來了解需要插入代碼的位置。我會做的是覆蓋所有方法,只需在覆蓋中調用基本impl,並在其中設置斷點以查看處理令牌的流程。手工製作一個未簽名的令牌並將其傳遞給您的服務,並通過簡單返回來查看哪種方法可以打破並修復它。這絕不是安全設計建議:)。我可以問你爲什麼不想簽署令牌嗎? – 2010-09-20 12:35:55