RestSharp OAuth2 Träger-Authentifizierung Fehlschlägt Mit Zugriff Verweigert

Implementierte ich meine eigenen IAuthenticator genannt OAuth2BearerAuthenticator die im Grunde dauert in ClientId und ClientSecret werden und bevor eine Anfrage gestellt wird, überprüft er, ob es ein gültiges Bearer-Token - wenn nicht, wird die client-Anmeldeinformationen Weg zu gehen und "Aktualisieren" das token, bevor Sie mit der ursprünglichen Anfrage.

Den Authenticate Methode dieser benutzerdefinierten authentifikator enthält die folgenden:

public void Authenticate(IRestClient client, IRestRequest request)
{
    if (!bearerTokenExpiration.HasValue || bearerTokenExpiration.Value < DateTime.Now)
    {
        RefreshBearerToken();
    }

    if (request.Parameters.Any(p => p.Name.Equals("Authorization", StringComparison.OrdinalIgnoreCase)))
    {
        return;
    }

    request.AddHeader("Authorization", string.Format("Bearer {0}", bearerToken));
}

Habe ich verifiziert, dass die Inhaber-token, es ist die Erzeugung gültig ist, kann ich erfolgreich anfordern von Daten aus der API bin ich versucht, den Zugang mit dem gleichen Inhaber-token authorization-header in DHC (Chrom-REST-Erweiterung)

Habe ich auch verifiziert, dass es nicht wieder frühzeitig aus dem if (any authorization paramaters) - Anweisung.

Jedoch RestSharp scheitert mit der Antwort "HTTP Basic: Access denied.\n"

Ich weiß nicht, ob es relevant ist, aber die Antwort enthält auch eine WWW-Authenticate - header mit dem Wert Basic realm=\"Web Password\"

Jede Hilfe wird sehr geschätzt. Danke.

InformationsquelleAutor Tom Glenn | 2015-04-27
Schreibe einen Kommentar