Proveedor de OpenID en localhost con DotNetOpenAuth

Tengo el proveedor de muestras DotNetOpenAuth ejecutándose localmente y parece que maneja las solicitudes correctamente a través del navegador web. Puedo pasar por el controlador para la autorización en el depurador.

Tengo un proyecto que se puede autenticar con Google y otros proveedores pero falla con el proveedor de muestra. El proveedor de la muestra nunca ve una solicitud y la parte que confía lanza una excepción que se quejaNo OpenID endpoint found.

Digamos que hago lo siguiente en el partido de confianza:

string providerURL = "http://localhost/openid/provider";

// Now try the openid relying party...
var openid = new OpenIdRelyingParty();
var response = openid.GetResponse();
if (response == null)
{
    Identifier id;
    if (Identifier.TryParse(providerURL, out id))
    {
        // The following line throws the exception without ever making
        // a request to the server.
        var req = openid.CreateRequest(providerURL);
        // Would redirect here...
    }
 }

Me di cuenta de que elUntrustedWebRequestHandler clase de evitar conexiones a nombres de host comolocalhost pero agregarlo como un host en la lista blanca, según los casos de prueba o manualmente, no parece ayudar.

He comprobado que el host es accesible con lo siguiente:

// Check to make sure the provider URL is reachable.
// These requests are handled by the provider.
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(providerURL);
HttpWebResponse httpRes = (HttpWebResponse)request.GetResponse();

¿Pensamientos? Estoy en el final de lo ingenioso en cuanto a por qué nunca hace una solicitud en absoluto.

EDITAR:localhost fue incluido en la lista blanca como tal:

(openid.Channel.WebRequestHandler as UntrustedWebRequestHandler).WhitelistHosts.Add("localhost");

También he intentado en la lista blanca agregándolo aweb.config al igual que:

<dotNetOpenAuth>
    <messaging>
        <untrustedWebRequest>
            <whitelistHosts>
                <add name="localhost"/>
            </whitelistHosts>
        </untrustedWebRequest>
    </messaging>
</dotNetOpenAuth>

Usando cualquiera de los dos enfoques,localhost aparece en elUntrustedWebRequestHandlerLista de hosts de la lista blanca cuando se examina en el depurador. Su proveedor aún no recibe ninguna solicitud.

Respuestas a la pregunta(1)

Su respuesta a la pregunta