2010-01-29 2 views
6

이 질문에 대한 대답은 이미 Here이지만 나와 나를 제외하고 답장을받지 못했습니다. 지금까지 다른 브라우저에서 로그인하고 웹 설정을 변경하고 쿠키를 삭제하고 외부 시스템에서로드를 시도했습니다.DotNetOpenId - "이 메시지는 이미 처리되었습니다."오류 (2 부)

실제로, 결국 문제는 내 컴퓨터에만 해당된다는 것을 발견했습니다. 다른 컴퓨터에 게시 할 때 제대로 작동했습니다. 솔루션을 찾을 위치에 대한 제안이 있습니까? 나는 고의적으로 내가 생각할 수있는 가장 단순한 테스트 코드 인 깨끗한 비어있는 aspx 페이지와 간단한 Page_Load 기능을 사용했다.

편집 : 원래 질문의 작성자와 마찬가지로 "이 메시지는 이미 처리되었습니다."라는 오류 메시지가 나타납니다. 이것은 Response.Write(response.Exception.ToString());과 함께 화면에 출력됩니다. 증상은 내 로컬 상자에 나타나기 때문에 다른 작성자와 달리 구성 관련 문제라고 생각합니다. 증상은 코드가 실행되는 것과 동일한 상자에서 테스트하는지 여부와 관계가 없습니다.

protected void Page_Load(object sender, EventArgs e) 
    { 
     using (OpenIdRelyingParty openid = new OpenIdRelyingParty()) 
     { 
      IAuthenticationResponse response = openid.GetResponse(); 
      if (response != null) 
      { 
       try 
       { 
        Response.Write(response.Exception.ToString()); 
       } 
       catch (Exception) 
       { 
       } 
       return; 
      } 
     } 

     using (OpenIdRelyingParty openid = new OpenIdRelyingParty()) 
     { 
      IAuthenticationRequest request = openid.CreateRequest(@"https://www.google.com/accounts/o8/id"); 
      request.RedirectToProvider(); 
     } 

    } 

오류 메시지 :

DotNetOpenAuth.Messaging.Bindings.ReplayedMessageException :이 메시지는 이미 처리되었습니다. 이는 진행중인 재생 공격을 나타낼 수 있습니다. ct : \ TeamCity \ buildAgent \ work \ bf9e2ca68b75a334 \ src \ DotNetOpenAuth \ Messaging \ Bindings \ StandardReplayProtectionBindingElement.cs : DotNetOpenAuth.Messaging.Channel.ProcessIncomingMessage (IProtocolMessage 메시지를 c : \ TeamCity \ buildAgent \ work \ bf9e2ca68b75a334 \ src \ DotNetOpenAuth \ Messaging \ Channel.cs : 990 줄에서 DotNetOpenAuth.OpenId.ChannelElements.OpenIdChannel.ProcessIncomingMessage (IProtocolMessage 메시지) c : \ TeamCity \ buildAgent \ work \ \ TeamCity \ buildAgent \ work \ bf9e2ca68b75a334 \ src \ DotNetOpenAuth \ Messaging \ Channel.cs의 DotNetOpenAuth.Messaging.Channel.ReadFromRequest (HttpRequestInfo httpRequest)의 172 행 : bf9e2ca68b75a334 \ src \ DotNetOpenAuth \ OpenId \ ChannelElements \ OpenIdChannel.cs : 라인 375에서 DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.GetResponse (HttpRequestInfo httpRequestInfo) c : \ TeamCity \ buildAgent \ work \ bf9e2ca68b75a334 \ src \ DotN에 etOpenAuth \ 오픈 ID \ RelyingParty OpenIdRelyingParty.cs \ : 라인 498

로그 :

2010-02-01 14:19:57,238 (GMT-5) [4] INFO DotNetOpenAuth - DotNetOpenAuth, Version=3.4.0.10015, Culture=neutral, PublicKeyToken=2780ccd10d57b246 (official) 
2010-02-01 14:19:57,253 (GMT-5) [4] INFO DotNetOpenAuth - Reporting will use isolated storage with scope: User, Domain, Assembly 
2010-02-01 14:19:57,270 (GMT-5) [4] INFO DotNetOpenAuth.Messaging.Channel - Scanning incoming request for messages: http://mymachine/OpenIDGizmo/snort.aspx?dnoa.userSuppliedIdentifier=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=id_res&openid.op_endpoint=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fud&openid.response_nonce=[snip4]%3A[snip5]%3A[snip6]&openid.return_to=http%3A%2F%2Fmymachine%2FOpenIDGizmo%2Fsnort.aspx%3Fdnoa.userSuppliedIdentifier%3Dhttps%253A%252F%252Fwww.google.com%252Faccounts%252Fo8%252Fid&openid.assoc_handle=[snip3]&openid.signed=op_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle&openid.sig=[snip2]%2F[snip7]%3D&openid.identity=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid%3Fid%3D[snip1]&openid.claimed_id=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid%3Fid%3D[snip1] 
2010-02-01 14:19:57,272 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Channel - Incoming HTTP request: GET http://mymachine/OpenIDGizmo/snort.aspx?dnoa.userSuppliedIdentifier=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid&openid.ns=http%3A%2F%2Fspecs.openid.net%2Fauth%2F2.0&openid.mode=id_res&openid.op_endpoint=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fud&openid.response_nonce=[snip4]%3A[snip5]%3A[snip6]&openid.return_to=http%3A%2F%2Fmymachine%2FOpenIDGizmo%2Fsnort.aspx%3Fdnoa.userSuppliedIdentifier%3Dhttps%253A%252F%252Fwww.google.com%252Faccounts%252Fo8%252Fid&openid.assoc_handle=[snip3]&openid.signed=op_endpoint%2Cclaimed_id%2Cidentity%2Creturn_to%2Cresponse_nonce%2Cassoc_handle&openid.sig=[snip2]%2F[snip7]%3D&openid.identity=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid%3Fid%3D[snip1]&openid.claimed_id=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid%3Fid%3D[snip1] 
2010-02-01 14:19:57,360 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Channel - Incoming request received: PositiveAssertionResponse 
2010-02-01 14:19:57,364 (GMT-5) [4] INFO DotNetOpenAuth.Messaging.Channel - Processing incoming PositiveAssertionResponse (2.0) message: 
    openid.claimed_id: https://www.google.com/accounts/o8/id?id=[snip1] 
    openid.identity: https://www.google.com/accounts/o8/id?id=[snip1] 
    openid.sig: [snip2]/[snip7]= 
    openid.signed: op_endpoint,claimed_id,identity,return_to,response_nonce,assoc_handle 
    openid.assoc_handle: [snip3] 
    openid.op_endpoint: https://www.google.com/accounts/o8/ud 
    openid.return_to: http://mymachine/OpenIDGizmo/snort.aspx?dnoa.userSuppliedIdentifier=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid 
    openid.response_nonce: [snip4]:[snip5]:[snip6] 
    openid.mode: id_res 
    openid.ns: http://specs.openid.net/auth/2.0 
    dnoa.userSuppliedIdentifier: https://www.google.com/accounts/o8/id 

2010-02-01 14:19:57,373 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.OpenId.ChannelElements.ReturnToSignatureBindingElement did not apply to message. 
2010-02-01 14:19:57,374 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.OpenId.ChannelElements.BackwardCompatibilityBindingElement did not apply to message. 
2010-02-01 14:19:57,376 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Verifying incoming PositiveAssertionResponse message signature of: [snip2]= 
2010-02-01 14:19:57,388 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Channel - Preparing to send CheckAuthenticationRequest (2.0) message. 
2010-02-01 14:19:57,399 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElement did not apply to message. 
2010-02-01 14:19:57,399 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.OpenId.ChannelElements.RelyingPartySecurityOptions did not apply to message. 
2010-02-01 14:19:57,400 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.OpenId.ChannelElements.BackwardCompatibilityBindingElement did not apply to message. 
2010-02-01 14:19:57,400 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement did not apply to message. 
2010-02-01 14:19:57,401 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.OpenId.ChannelElements.ReturnToSignatureBindingElement did not apply to message. 
2010-02-01 14:19:57,401 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.Messaging.Bindings.StandardReplayProtectionBindingElement did not apply to message. 
2010-02-01 14:19:57,402 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.Messaging.Bindings.StandardExpirationBindingElement did not apply to message. 
2010-02-01 14:19:57,402 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement did not apply to message. 
2010-02-01 14:19:57,403 (GMT-5) [4] INFO DotNetOpenAuth.Messaging.Channel - Prepared outgoing CheckAuthenticationRequest (2.0) message for https://www.google.com/accounts/o8/ud: 
    openid.return_to: http://mymachine/OpenIDGizmo/snort.aspx?dnoa.userSuppliedIdentifier=https%3A%2F%2Fwww.google.com%2Faccounts%2Fo8%2Fid 
    openid.mode: check_authentication 
    openid.ns: http://specs.openid.net/auth/2.0 
    openid.claimed_id: https://www.google.com/accounts/o8/id?id=[snip1] 
    openid.identity: https://www.google.com/accounts/o8/id?id=[snip1] 
    openid.sig: [snip2]= 
    openid.signed: op_endpoint,claimed_id,identity,return_to,response_nonce,assoc_handle 
    openid.assoc_handle: [snip3] 
    openid.op_endpoint: https://www.google.com/accounts/o8/ud 
    openid.response_nonce: [snip4]:[snip5]:[snip6] 
    dnoa.userSuppliedIdentifier: https://www.google.com/accounts/o8/id 

2010-02-01 14:19:57,403 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Channel - Sending CheckAuthenticationRequest request. 
2010-02-01 14:19:57,916 (GMT-5) [4] DEBUG DotNetOpenAuth.Http - HTTP POST https://www.google.com/accounts/o8/ud 
2010-02-01 14:19:57,992 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Channel - Received CheckAuthenticationResponse response. 
2010-02-01 14:19:57,992 (GMT-5) [4] INFO DotNetOpenAuth.Messaging.Channel - Processing incoming CheckAuthenticationResponse (2.0) message: 
    is_valid: true 
    ns: http://specs.openid.net/auth/2.0 

2010-02-01 14:19:57,993 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.OpenId.ChannelElements.ReturnToSignatureBindingElement did not apply to message. 
2010-02-01 14:19:57,993 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.OpenId.ChannelElements.BackwardCompatibilityBindingElement did not apply to message. 
2010-02-01 14:19:57,993 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement did not apply to message. 
2010-02-01 14:19:57,993 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.Messaging.Bindings.StandardExpirationBindingElement did not apply to message. 
2010-02-01 14:19:57,994 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.Messaging.Bindings.StandardReplayProtectionBindingElement did not apply to message. 
2010-02-01 14:19:57,995 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.OpenId.ChannelElements.ReturnToNonceBindingElement did not apply to message. 
2010-02-01 14:19:57,995 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.OpenId.ChannelElements.RelyingPartySecurityOptions did not apply to message. 
2010-02-01 14:19:57,997 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.OpenId.ChannelElements.ExtensionsBindingElement did not apply to message. 
2010-02-01 14:19:57,997 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Channel - After binding element processing, the received CheckAuthenticationResponse (2.0) message is: 
    is_valid: true 
    ns: http://specs.openid.net/auth/2.0 

2010-02-01 14:19:57,997 (GMT-5) [4] DEBUG DotNetOpenAuth.Messaging.Bindings - Binding element DotNetOpenAuth.OpenId.ChannelElements.SigningBindingElement applied to message. 

의 Web.config : 당신은 또한 얻을 수 dotnetopenauth의 일부 버전에서

<?xml version="1.0"?> 

<configuration> 
    <configSections> 
    <section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler" requirePermission="false" /> 
    <section name="uri" type="System.Configuration.UriSection, 
      System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" /> 
    <section name="dotNetOpenAuth" type="DotNetOpenAuth.Configuration.DotNetOpenAuthSection" 
      requirePermission="false" allowLocation="true"/> 
    </configSections> 

    <uri> 
    <idn enabled="All"/> 
    <iriParsing enabled="true"/> 
    </uri> 

    <appSettings/> 
    <connectionStrings/> 

    <system.web> 
    <!-- 
      Set compilation debug="true" to insert debugging 
      symbols into the compiled page. Because this 
      affects performance, set this value to true only 
      during development. 
     --> 
    <compilation debug="true" /> 
    <!-- 
      The <authentication> section enables configuration 
      of the security authentication mode used by 
      ASP.NET to identify an incoming user. 
     --> 
    <authentication mode="Windows" /> 
    <!-- 
      The <customErrors> section enables configuration 
      of what to do if/when an unhandled error occurs 
      during the execution of a request. Specifically, 
      it enables developers to configure html error pages 
      to be displayed in place of a error stack trace. 

     <customErrors mode="RemoteOnly" defaultRedirect="GenericErrorPage.htm"> 
      <error statusCode="403" redirect="NoAccess.htm" /> 
      <error statusCode="404" redirect="FileNotFound.htm" /> 
     </customErrors> 
     --> 
    </system.web> 

    <dotNetOpenAuth> 
    <openid maxAuthenticationTime="0:05" cacheDiscovery="true"> 
     <relyingParty> 
     <security 
        requireSsl="false" 
        minimumRequiredOpenIdVersion="V10" 
        minimumHashBitLength="160" 
        maximumHashBitLength="256" 
        requireDirectedIdentity="false" 
        requireAssociation="false" 
        rejectUnsolicitedAssertions="false" 
        rejectDelegatingIdentifiers="false" 
        ignoreUnsignedExtensions="false" 
        privateSecretMaximumAge="07:00:00" /> 
     <behaviors> 
      <!-- <add type="Fully.Qualified.ClassName, Assembly" /> --> 
     </behaviors> 
     <store type="Fully.Qualified.ClassName, Assembly" /> 
     </relyingParty> 
     <provider> 
     <security 
        requireSsl="false" 
        protectDownlevelReplayAttacks="true" 
        minimumHashBitLength="160" 
        maximumHashBitLength="512"> 
      <associations> 
      <add type="HMAC-SHA1" lifetime="14.00:00:00" /> 
      <add type="HMAC-SHA256" lifetime="14.00:00:00" /> 
      </associations> 
     </security> 
     <behaviors> 
      <!-- <add type="Fully.Qualified.ClassName, Assembly" /> --> 
     </behaviors> 
     <store type="Fully.Qualified.ClassName, Assembly" /> 
     </provider> 
     <extensionFactories> 
     <add type="FullyQualifiedClass.Implementing.IOpenIdExtensionFactory, Assembly" /> 
     </extensionFactories> 
    </openid> 
    <messaging clockSkew="00:10:00" lifetime="00:03:00"> 
     <untrustedWebRequest 
       timeout="00:01:10" 
       readWriteTimeout="00:00:21.500" 
       maximumBytesToRead="1048576" 
       maximumRedirections="10"> 
     <whitelistHosts> 
      <!-- since this is a sample, and will often be used with localhost --> 
      <!-- <add name="localhost" /> --> 
     </whitelistHosts> 
     <whitelistHostsRegex> 
      <!-- since this is a sample, and will often be used with localhost --> 
      <!-- <add name="\.owndomain\.com$" /> --> 
     </whitelistHostsRegex> 
     <blacklistHosts> 
     </blacklistHosts> 
     <blacklistHostsRegex> 
     </blacklistHostsRegex> 
     </untrustedWebRequest> 
    </messaging> 
    </dotNetOpenAuth> 


    <!-- log4net is a 3rd party (free) logger library that dotnetopenid will use if present but does not require. --> 
    <log4net> 
    <appender name="RollingFileAppender" type="log4net.Appender.RollingFileAppender"> 
     <file value="c:\\tmp\\toto\\RelyingParty2.log" /> 
     <appendToFile value="true" /> 
     <immediateFlush value="true" /> 
     <rollingStyle value="Size" /> 
     <maxSizeRollBackups value="10" /> 
     <maximumFileSize value="100KB" /> 
     <staticLogFileName value="true" /> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date (GMT%date{%z}) [%thread] %-5level %logger - %message%newline" /> 
     </layout> 
    </appender> 
    <appender name="TracePageAppender" type="OpenIdRelyingPartyWebForms.Code.TracePageAppender, OpenIdRelyingPartyWebForms"> 
     <layout type="log4net.Layout.PatternLayout"> 
     <conversionPattern value="%date (GMT%date{%z}) [%thread] %-5level %logger - %message%newline" /> 
     </layout> 
    </appender> 
    <!-- Setup the root category, add the appenders and set the default level --> 
    <root> 
     <level value="INFO" /> 
     <appender-ref ref="RollingFileAppender" /> 
     <!--<appender-ref ref="TracePageAppender" />--> 
    </root> 
    <!-- Specify the level for some specific categories --> 
    <logger name="DotNetOpenAuth"> 
     <level value="ALL" /> 
    </logger> 
    </log4net> 

</configuration> 
+0

이 질문에 실제 문제가 무엇인지 포함하면 도움이됩니다. 도움이되는 다른 질문을 찾지 못했기 때문에 다른 사람들도이 도움이되는 도움을 얻지 못하고 사람들이 귀하의 질문에 답변하는 데 어려움을 겪습니다 ... –

+0

@Rick : 좋아, 편집을 좀 해 보려고 노력했다. – Brian

+0

로그를 포함하십시오. :) http://www.dotnetopenauth.net/developers/code-snippets/loggingdebugging-dotnetopenauth-with-log4net/ –

답변

8

:

이 메시지는 이미입니다.처리됨. 진행중인 재생 공격을 나타낼 수 있습니다.

maxAuthenticationTime 값이 너무 낮 으면 (분명히 어떤 방식 으로든 오류와 관련이 없지만 다른 문제 임) 나는 오늘 이것을 경험했다.

이 값을 늘리려면 https://github.com/DotNetOpenAuth/DotNetOpenAuth/wiki/Configuration과 같이 config 항목을 편집하십시오 (0시 10 분으로 설정하는 것이 좋습니다).

+0

고마워, 그게 나를 위해 일했다. 몇 달 동안 잘 작동했기 때문에 나 혼란 스러웠습니다. – stimms

+0

링크가 죽었습니다 ... –

+0

링크가 업데이트되었습니다 – loraderon

관련 문제