Dostawca OpenID na localhost z DotNetOpenAuth

Mam przykładowego dostawcę DotNetOpenAuth działającego lokalnie i wydaje się, że poprawnie obsługuje żądania za pośrednictwem przeglądarki internetowej. Mogę przejść przez program obsługi w celu autoryzacji w debuggerze.

Mam projekt, który może uwierzytelniać się w Google i innych dostawcach, ale nie działa z dostawcą próbek. Przykładowy dostawca nigdy nie widzi żądania, a strona ufająca zgłasza skargęNo OpenID endpoint found.

Powiedz, że wykonuję następujące czynności na stronie ufającej:

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...
    }
 }

Zauważyłem, żeUntrustedWebRequestHandler klasa zapobiega połączeniom z nazwami hostów, takimi jaklocalhost ale dodanie go jako hosta na białej liście, jak w przypadku testów lub ręcznie, wydaje się nie pomagać.

Sprawdziłem, czy host jest osiągalny za pomocą następujących elementów:

// 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();

Myśli? Jestem na wyczerpaniu, dlaczego nigdy w ogóle nie prosi.

EDYTOWAĆ:localhost był na białej liście:

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

Próbowałem również dodawać do białej listy, dodając ją doweb.config w ten sposób:

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

Korzystając z obu podejśćlocalhost pojawia się wUntrustedWebRequestHandlerlista hostów na białej liście podczas sprawdzania w debuggerze. Ich dostawca nadal nie otrzymuje żadnych żądań.

questionAnswers(1)

yourAnswerToTheQuestion