sorun bir SSL cihazın arkasında çalışan bir DNOA RP alma yaşıyorum arkasında başarısız (arkasında web sunucusu istemci HTTPS bağlantısı ve ters proxy, HTTP sonlandırır).DotNetOpenAuth RP SSL cihazın
sorun RP hatalı isteğin geldiği alıcı uç noktasını tahmin olmasıdır (Çünkü o değil HTTPS o vurur zaman web sunucusu tarafından) ve return_to url üzerinde şeması ile son nokta karşılaştıran (HTTPS) - Aşağıdaki stacktrace ile başarısız. Kodda biraz dolaştım ve bu davranışı özel bir yapı veya önemsiz olmayan bir alt sınıf olmadan değiştirmenin bir yolunu görmüyorum. Zaten Realt ve ReturnToUrl HTTPS sürümünü OpenIdRelyingParty.CreateRequests() - bu bölüm çalışıyor.
HTTPS tespit alıcı düzeni geçiştirmek veya stok DNOA yapı üzerinde düzeni karşılaştırma atlamak, yoksa özel bir yapı yarın bandajlamama ediyorum mümkün mü?stacktrace:
ERROR DotNetOpenAuth.Messaging - 09 Jul 2010 00:11:39,450 - Protocol error: The openid.return_to parameter (https://XXX/Login.aspx?openid=XXX&dnoa.userSuppliedIdentifier=XXX) does not match the actual URL (http://XXX/Login.aspx?openid=XXX&dnoa.userSuppliedIdentifier=XXX&openid.ns=http://specs.openid.net/auth/2.0&openid.mode=id_res&openid.op_endpoint=XXX&openid.response_nonce=XXX&openid.return_to=https://XXX/Login.aspx?openid=XXX&dnoa.userSuppliedIdentifier=XXX&openid.assoc_handle=XXX&openid.signed=op_endpoint,claimed_id,identity,return_to,response_nonce,assoc_handle&openid.sig=XXX&openid.identity=XXX&openid.claimed_id=XXX) the request was made with.
at DotNetOpenAuth.Messaging.ErrorUtilities.VerifyProtocol(Boolean condition, String message, Object[] args)
at DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.VerifyReturnToMatchesRecipient()
at DotNetOpenAuth.OpenId.Messages.IndirectSignedResponse.EnsureValidMessage()
at DotNetOpenAuth.Messaging.MessageSerializer.Deserialize(IDictionary`2 fields, MessageDictionary messageDictionary)
at DotNetOpenAuth.Messaging.Reflection.MessageDictionary.Deserialize(IDictionary`2 fields)
at DotNetOpenAuth.Messaging.Channel.Receive(Dictionary`2 fields, MessageReceivingEndpoint recipient)
at DotNetOpenAuth.Messaging.Channel.ReadFromRequestCore(HttpRequestInfo request)
at DotNetOpenAuth.Messaging.Channel.ReadFromRequest(HttpRequestInfo httpRequest)
at DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.GetResponse(HttpRequestInfo httpRequestInfo)
at DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.GetResponse()
Kusursuz - teşekkürler! Ben RPs biri için cihazı kontrol etmiyoruz, ama kesinlikle o ben (şu anda yapılandırılabilir düzeni karşılaştırma ile inşa göndermek için özel bir) do birinde deneyeceğinizi. – nitzmahone
https://github.com/DotNetOpenAuth/DotNetOpenAuth/blob/master/src/DotNetOpenAuth.Test/Messaging/HttpRequestInfoTests.cs adresindeki koda göre, protokol başlığının aslında HTTP_X_FORWARDED_PROTO olması gerektiğine inanıyorum –