【问题标题】:Unsigned SAML 2.0 Support for WCF on .Net 4.0.Net 4.0 上对 WCF 的未签名 SAML 2.0 支持
【发布时间】:2011-04-12 01:36:08
【问题描述】:

如果 WCF .Net 4.0 原生支持未签名的 SAML 2.0 或 1.1,请告诉我。我知道 WCF 原生支持 Signed SAML 1.1,WIF 原生支持 SAML 2.0,但我找不到任何关于未签名 SAML 的材料。

【问题讨论】:

    标签: wcf .net-4.0 wcf-security saml wif


    【解决方案1】:

    不是本地的。开箱即用的 SAML 1.1 和 SAML 2.0 令牌处理程序对令牌进行签名。 要支持未签名的令牌,您需要创建自己的令牌处理程序,该处理程序继承自

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

    覆盖签名创建/验证方法,它们有很多,在你的情况下什么都不做。问题是您还需要控制向您颁发令牌的 STS 服务,如果它们不受您的控制,这可能会很困难。

    【讨论】:

    • 好消息是我们将创建一个我们可以完全控制的本地 STS 服务。因此,如果我理解正确,我可以创建 SAML 1.1 和 2.0 签名和未签名令牌。如果我需要支持 Unsigned 2.0 令牌,我将不得不创建我自己的令牌处理程序,正如你提到的。你有这个实现的示例代码吗?再次非常感谢。
    • 不幸的是,我没有这方面的示例代码,但请查看类本身并查看可覆盖的方法以了解您需要在哪里插入代码。我要做的是覆盖所有方法,只需在覆盖中调用基本 impl,并在其中设置断点以查看处理令牌的流程是什么。手工制作一个未签名的令牌并将其传递给您的服务,然后通过简单地返回来查看哪些方法中断并修复它。这绝不是安全设计建议:)。我能问一下你为什么不想签署令牌吗?
    • 有些用例我也必须支持未签名的 SAML 令牌。无论如何都会对服务请求进行签名,因此对 SAML 令牌进行签名会增加开销。所以我们也必须支持未签名的 SAML 令牌。
    • 好吧,我之前没有做过,但是你需要玩一下令牌处理程序的胆量。
    • 感谢您提供的所有信息。我想我可以用你提供的所有指针来关闭它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多