Introducciónfirma de mensaje no válido cuando se ejecuta proveedor de OpenID en el clúster
Tenemos un proveedor de OpenID, que hemos creado mediante el componente DotNetOpenAuth. Todo funciona bien cuando ejecutamos el proveedor en un solo nodo, pero cuando movemos el proveedor a un clúster de carga equilibrada donde varios servidores manejan solicitudes para cada sesión, obtenemos problemas con la firma del mensaje, ya que el componente DotNetOpenAuth parece estar utilizando algo único desde cada nodo del clúster para crear la firma.
Excepción
DotNetOpenAuth.Messaging.Bindings.InvalidSignatureException: Message signature was incorrect.
at DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement.ProcessIncomingMessage(IProtocolMessage message) in c:\BuildAgent\work\7ab20c0d948e028f\src\DotNetOpenAuth\OpenId\ChannelElements\SigningBindingElement.cs:line 139
at DotNetOpenAuth.Messaging.Channel.ProcessIncomingMessage(IProtocolMessage message) in c:\BuildAgent\work\7ab20c0d948e028f\src\DotNetOpenAuth\Messaging\Channel.cs:line 940
at DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel.ProcessIncomingMessage(IProtocolMessage message) in c:\BuildAgent\work\7ab20c0d948e028f\src\DotNetOpenAuth\OpenId\ChannelElements\OpenIdChannel.cs:line 172
at DotNetOpenAuth.Messaging.Channel.ReadFromRequest(HttpRequestInfo httpRequest) in c:\BuildAgent\work\7ab20c0d948e028f\src\DotNetOpenAuth\Messaging\Channel.cs:line 378
at DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.GetResponse(HttpRequestInfo httpRequestInfo) in c:\BuildAgent\work\7ab20c0d948e028f\src\DotNetOpenAuth\OpenId\RelyingParty\OpenIdRelyingParty.cs:line 493
Configuración
Tenemos la configuración de la máquina de configuración para utilizar la misma clave de equipo en todos los nodos del clúster y tenemos que configurar una salida de la sesión de proceso con SQL Server.
Pregunta
¿Cómo podemos configurar la clave utilizada por DotNetOpenAuth para firmar sus mensajes para que el cliente va a confiar en las respuestas de todos los servidores de la agrupación durante la misma sesión?
Creo que tenemos el mismo problema: http://stackoverflow.com/questions/2505565/dotnetopenauth-message-signature-was-incorrect –
Tuvimos un problema similar, pero optamos por crear una tienda de nonce que fuera bonita simple y funciona bastante bien en nuestras configuraciones de granja/jardín. Pero el problema que estamos teniendo ahora es con nuestro propio proveedor, que estamos tratando de trasladar a una granja, no al RP. – Garth