C# WCF CustomToken错误“;带有';基本';附件模式必须签名。”;

C# WCF CustomToken错误“;带有';基本';附件模式必须签名。”;,c#,wcf,C#,Wcf,因此,我创建了一个定制令牌,主要基于MSDN示例(http://msdn.microsoft.com/en-us/library/ms731872.aspx)但我似乎无法让它发挥作用。我总是在日志中看到这样的错误:“必须对具有“基本”附件模式的安全令牌进行签名。”。我已经对代码库进行了多次检查 A) 显然,它编译并运行 B) 我看不出问题在哪里。 日志消息并没有那么有用。我认为这可能和证书有关,但我已经克服了这一点,创建了两个不同的证书(一个使用服务器名设置为localhost等) 谷歌搜索结果

因此,我创建了一个定制令牌,主要基于MSDN示例(http://msdn.microsoft.com/en-us/library/ms731872.aspx)但我似乎无法让它发挥作用。我总是在日志中看到这样的错误:“必须对具有“基本”附件模式的安全令牌进行签名。”。我已经对代码库进行了多次检查 A) 显然,它编译并运行 B) 我看不出问题在哪里。 日志消息并没有那么有用。我认为这可能和证书有关,但我已经克服了这一点,创建了两个不同的证书(一个使用服务器名设置为localhost等)

谷歌搜索结果几乎一无所获

有人知道这是什么吗,或者告诉我在哪里可以找到?就像我说的-我已经看过很多次这段代码了,我看到了授权策略的创建和所有的好东西,我可以看到证书已经设置好了,我只是不知道还有什么地方可以看,我真的没有任何代码可以发布,有那么多的类你必须实现。如果有人知道我可以看什么,我会很乐意发布这个特定的类/代码片段

谢谢

请参见此处:

。。。未正确复制安全令牌的“id”属性。 这会导致为服务器上的安全令牌创建一个新ID,该ID不再与安全签名数据匹配,因此消息将被拒绝

在实现自定义
WSSecurityTokenSerializer
来序列化安全令牌时,您可能没有复制令牌的
Id
属性。ID需要从客户端匹配到服务器


一个常见的错误(我肯定我也犯过)是在构造函数中只使用
id=Guid.NewGuid().ToString()
。这对于它在clinet上的初始创建是很好的,但是当它在服务器上反序列化时,它需要使用来自客户端的相同ID,而不是新的guid。

您是否启用了跟踪并按照请求路径查看异常的来源和该点的参数。服务跟踪查看器:是的,这就是我得到错误消息的原因,来自客户端的消息更加模糊。通过详细登录,就在错误发生之前,我可以看到我的服务接收到一条消息,我可以看到它有一个加密密钥的UID,然后下一条消息是一个错误,事实上就是这样-没有要查看的头树或任何东西。