Google OpenId: OpenID endpoint not found (intermittent)

Usually, the use of Google OpenId works fine, thousands of times a day, after which it starts to interrupt with an error and fail for several hours or so (some requests will be checked, but not all). Rechecking will eventually work.

Error messages:

Event code: 200000 Event message: No OpenID endpoint found. : https://www.google.com/accounts/o8/id Sequence contains no elements 

Adding to log4net gives:

 DotNetOpenAuth.Yadis: Error while performing discovery on: "https://www.google.com/accounts/o8/id": DotNetOpenAuth.Messaging.ProtocolException: Error occurred while sending a direct message or getting the response. ---> System.Net.WebException: The operation has timed out at System.Net.HttpWebRequest.GetResponse() at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse (HttpWebRequest request, DirectWebRequestOptions options) in c:\...\Dot...Core\Messaging\StandardWebRequestHandler.cs:line 127 --- End of inner exception stack trace --- at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse (HttpWebRequest request, DirectWebRequestOptions options) in c:\...\Dot...Core\Messaging\StandardWebRequestHandler.cs:line 175 at DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.GetResponse (HttpWebRequest request, DirectWebRequestOptions options) in c:\...\Dot...Core\Messaging\UntrustedWebRequestHandler.cs:line 250 at DotNetOpenAuth.Yadis.Yadis.Request (IDirectWebRequestHandler requestHandler, Uri uri, Boolean requireSsl, String[] acceptTypes) in c:\...\Dot...OpenId\Yadis\Yadis.cs:line 172 at DotNetOpenAuth.Yadis.Yadis.Discover (IDirectWebRequestHandler requestHandler, UriIdentifier uri, Boolean requireSsl) in c:\...\DotNetOpenAuth.OpenId\Yadis\Yadis.cs:line 63 at DotNetOpenAuth.OpenId.UriDiscoveryService.Discover (Identifier identifier, IDirectWebRequestHandler requestHandler, Boolean& abortDiscoveryChain) in c:\...\DotNet...OpenId\OpenId\UriDiscoveryService.cs:line 51 at DotNetOpenAuth.OpenId.IdentifierDiscoveryServices.Discover (Identifier identifier) in c:\...\Dot...OpenId\OpenId\IdentifierDiscoveryServices.cs:line 58 at DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.Create (Identifier userSuppliedIdentifier, OpenIdRelyingParty relyingParty, Realm realm, Uri returnToUrl, Boolean createNewAssociationsAsNeeded) in ...OpenId.RelyingParty\OpenId\RelyingParty\AuthenticationRequest.cs:line 364 

AND

 DotNetOpenAuth.Http WebException: Timeout from https://www.google.com/accounts/o8/id, no response available. 

Any ideas?

+8
openid dotnetopenauth google-openid
source share
2 answers

It looks like you need to fix network latency. It seems unlikely that Google will be the bottleneck here.

You can also increase the HTTP timeouts at your end to reduce the failure rate. A complete set of options is available here . In particular, you are probably looking for:

 <untrustedWebRequest timeout="00:00:10" readWriteTimeout="00:00:01.500" /> 

Check the configuration link to see the context where this happens.

+2
source share

We recently encountered this problem. After reading several different scenarios and going through the tracing steps, I finally came to the conclusion that, as I saw in other places, this problem can be caused by a DNS server problem. In our case, we had a production server that was used for more than 18 months and just recently started getting the same problem as mentioned above, but on this one server it was very consistent. There was no problem on another server on a different network and on our development computers.

In short, I changed the primary DNS for the production server to Google’s public DNS, 8.8.8.8, and it started working instantly. I manually deleted the DNS cache on the production server before (without a positive result), so it makes me think that the DNS server (provided by our hosting center) had a bad cache entry, which ultimately caused the problem.

Hope this helps someone else who comes across this scenario.

+2
source share

All Articles