WprowadzenieNieprawidłowy podpis komunikat przy uruchamianiu OpenID Provider na Klastra
Mamy OpenID Provider, który stworzyliśmy przy użyciu składnika DotNetOpenAuth. Wszystko działa wspaniale, gdy uruchamiamy dostawcę w jednym węźle, ale kiedy przenosimy dostawcę do klastra równoważonego obciążeniem, w którym wiele serwerów obsługuje żądania dla każdej sesji, pojawia się problem z podpisywaniem wiadomości, ponieważ komponent DotNetOpenAuth wydaje się używać czegoś unikalnego z każdego węzła klastra, aby utworzyć podpis.
Wyjątek
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
Konfiguracja
Mamy konfiguracji maszyna config aby używać tego samego klucza maszynowego na wszystkich węzłach klastra i mamy konfigurację out sesji procesu z SQL Server.
Pytanie
Jak możemy skonfigurować klucz używany przez DotNetOpenAuth podpisać swoje wiadomości tak, że klient zaufa odpowiedzi od wszystkich serwerów w klastrze podczas tej samej sesji?
Myślę, że mamy ten sam problem: http://stackoverflow.com/questions/2505565/dotnetopenauth-message-was-was-incorrect –
Mieliśmy podobny problem, ale zamiast tego zdecydowaliśmy się stworzyć sklep nonce, który był dość proste i działa całkiem dobrze w naszych konfiguracjach farmy/ogrodu. Ale problem, który mamy teraz, jest z naszym własnym dostawcą, który próbujemy przenieść na farmę, a nie na RP. – Garth