Take the 2-minute tour ×

I am trying to implement OpeinID login with ASP.NET MVC. I am trying to follow steps given as in http://blog.nerdbank.net/2008/04/add-openid-login-support-to-your-aspnet.html

Below is my settings web.config

            <add name="localhost" />
<reporting enabled="false" />

<defaultProxy useDefaultCredentials="true">
    <proxy autoDetect="True" usesystemdefault="True"/>

I get the 'ProtocolException' saying 'No openId end point found' when I try to create a request.

    //ProtocolException is thrown
    IAuthenticationRequest request = openID.CreateRequest(openid_identifier); 
catch (ProtocolException )

Log File generated by Dotnetopenauth. (I have replaced my valid userid with <myopenid> )

    {INFO}06/07 17:24:45 - Performing discovery on user-supplied identifier: http://<myopenid>.myopenid.com/
{DEBUG}06/07 17:24:45 - Filtering and sorting of endpoints did not affect the list.
{INFO}06/07 17:30:03 - DotNetOpenAuth, Version=, Culture=neutral, PublicKeyToken=2780ccd10d57b246 (official)
{INFO}06/07 17:30:03 - Scanning incoming request for messages: http://localhost/OpenID/User/Authenticate
{DEBUG}06/07 17:30:03 - Incoming HTTP request: POST http://localhost/OpenID/User/Authenticate
{DEBUG}06/07 17:30:31 - .NET Uri class path compression overridden.
{DEBUG}06/07 17:30:31 - HTTP GET http://<myopenid>.myopenid.com/
{ERROR}06/07 17:30:55 - WebException ConnectFailure from http://<myopenid>.myopenid.com/, no response available.
{ERROR}06/07 17:30:55 - Error while performing discovery on: "http://<myopenid>.myopenid.com/": DotNetOpenAuth.Messaging.ProtocolException: Error occurred while sending a direct message or getting the response. ---> System.Net.WebException: Unable to connect to the remote server ---> System.Net.Sockets.SocketException: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond
   at System.Net.Sockets.Socket.DoConnect(EndPoint endPointSnapshot, SocketAddress socketAddress)
   --- End of inner exception stack trace ---
   at System.Net.HttpWebRequest.GetResponse()
   at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest request, DirectWebRequestOptions options)
   --- End of inner exception stack trace ---
   at DotNetOpenAuth.Messaging.StandardWebRequestHandler.GetResponse(HttpWebRequest request, DirectWebRequestOptions options)
   at DotNetOpenAuth.Messaging.UntrustedWebRequestHandler.GetResponse(HttpWebRequest request, DirectWebRequestOptions options)
   at DotNetOpenAuth.Yadis.Yadis.Request(IDirectWebRequestHandler requestHandler, Uri uri, Boolean requireSsl, String[] acceptTypes)
   at DotNetOpenAuth.Yadis.Yadis.Discover(IDirectWebRequestHandler requestHandler, UriIdentifier uri, Boolean requireSsl)
   at DotNetOpenAuth.OpenId.UriDiscoveryService.Discover(Identifier identifier, IDirectWebRequestHandler requestHandler, Boolean& abortDiscoveryChain)
   at DotNetOpenAuth.OpenId.RelyingParty.OpenIdRelyingParty.Discover(Identifier identifier)
   at DotNetOpenAuth.OpenId.RelyingParty.AuthenticationRequest.Create(Identifier userSuppliedIdentifier, OpenIdRelyingParty relyingParty, Realm realm, Uri returnToUrl, Boolean createNewAssociationsAsNeeded)

I then checked with fiddler and I see no request getting generated to get the URI. It seems that dotnetopenauth is not able to generate the request and is failing there.

Can anybody please help me out here? Anything that I am missing?

I am working from behind a proxy.

share|improve this question

2 Answers 2

All I can suggest is that you write a trivial C# console app that uses HttpWebRequest to download the page from your OpenID URL that you're typing into DotNetOpenAuth so you can see the failure yourself, and diagnose what's wrong with your firewall/proxy settings.

share|improve this answer
Definitely a good thing... Unfortunately revealed another issue :) –  Matthias Nov 19 '13 at 15:35

I had the same problem as you, and it worked if I removed the proxy autodetect. Therefore, in web.config system.net section, only:

This configuration allowed me to work from behind a corporate proxy server as well as with using Fiddler.

share|improve this answer

Your Answer


