自定义 Saml2SecurityTokenHandler - 令牌序列化程序无法序列化

发布于 2024-11-26 08:47:55 字数 889 浏览 1 评论 0原文

为了简单起见,我实现了以下类:

public class CustomUserNamePasswordValidatorSecurityTokenHandler : UserNameSecurityTokenHandler {}

并且我启用了它的配置(并启用了正确的 configSection):

  <microsoft.identityModel>
    <service>
      <securityTokenHandlers>
        <clear />
        <add type="CustomUserNamePasswordValidatorSecurityTokenHandler" />       
      </securityTokenHandlers>
    </service>
  </microsoft.identityModel>

并对我的 STS 收益执行实际的 RP 调用(在服务跟踪查看器中):

令牌序列化程序无法序列化“Microsoft.IdentityModel.Tokens.SessionSecurityToken”。如果这是自定义类型,您必须提供自定义序列化程序。

如果我注释掉配置(因此不应用令牌处理程序),则一切正常。我如何提供这个自定义序列化器?

注意:这个帖子但是我没有看到解决方案。

For the sake of simplicity, I've implemented the following class:

public class CustomUserNamePasswordValidatorSecurityTokenHandler : UserNameSecurityTokenHandler {}

And I've enabled it configuration (and enabled proper configSection):

  <microsoft.identityModel>
    <service>
      <securityTokenHandlers>
        <clear />
        <add type="CustomUserNamePasswordValidatorSecurityTokenHandler" />       
      </securityTokenHandlers>
    </service>
  </microsoft.identityModel>

And performing an actual RP call against my STS yields (in service trace viewer):

The token Serializer cannot serialize 'Microsoft.IdentityModel.Tokens.SessionSecurityToken'. If this is a custom type you must supply a custom serializer.

If I comment out the configuration (so no token handler applys), everything works fine. How do I supply this custom serializer?

NOTE: There's a couple references to the issue in this thread however I don't see the resolution.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

后eg是否自 2024-12-03 08:47:55

删除 securityTokenHandler 部分上的 就足够了(我编辑的可能会回答您的其他问题相应地,抱歉)。

删除所有默认注册的处理程序(例如 SessionSecurityToken)。

Removing the <clear /> on the securityTokenHandler section should suffice (I editied may answer on your other question accordingly, sorry).

<clear /> removes all by default registered handlers (e.g. for the SessionSecurityToken).

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文