Laden...

[gelöst] RestSharp Client Authorization mit Bearer Name+Password "UNAUTHORIZED"

Erstellt von schuppsl vor 2 Jahren Letzter Beitrag vor 2 Jahren 867 Views
S
schuppsl Themenstarter:in
789 Beiträge seit 2007
vor 2 Jahren
[gelöst] RestSharp Client Authorization mit Bearer Name+Password "UNAUTHORIZED"

Hallöle zusammen,

ich erstelle einen Client mit RestSharp und versuche mich an der API an einem Hausinternen Dienst anzumelden.(API)
Per Postman funktioniert alles.
Nun möchte ich das in mein C# WindowsForms Programm einbauen.
Das einfachste ist, dass ich den Code 1:1 kopiere und paste.
Sollte man meinen.

Authentifizierung geschieht über Bearer Username+Passwort.

Der Dienst meldet immer, dass ich "UNAUTHORIZED" bin.

So sieht das aus, original aus Postman:


var client = new RestClient("URL-des-Dienstes");
            client.Timeout = -1;
            var request = new RestRequest(Method.GET);
            request.AddHeader("Authorization", "Bearer USername Pass Word mit Leerzeichen");
            var body = @"";
           request.AddParameter("text/plain", body, ParameterType.RequestBody);
            IRestResponse response = client.Execute(request);
            Console.WriteLine(response.Content);

Anstatt request.Addheader habe ich folgendes jeweils ausprobiert:


// client.Authenticator = new AuthenticationHeaderValue("Username", "Pass Word mit Leerzeichen");
// client.Authenticator = new OAuth2AuthorizationRequestHeaderAuthenticator("Username Pass Word mit Leerzeichen", "Bearer");          
// request.AddParameter("Authorization", "Bearer USername Pass Word mit Leerzeichen",ParameterType.HttpHeader);
//  client.AddDefaultHeader("Authorization", $"Bearer USername Pass Word mit Leerzeichen");

Nichts funktioniert, immer bekomme ich Unauthorized.
Das Passwort ist so wie es hier ist - mit Leerzeichen, also ein Satz.
Könnte es daran liegen?
Was macht Postman anders?

Vielleicht hat jemand eine Idee dazu....

S
schuppsl Themenstarter:in
789 Beiträge seit 2007
vor 2 Jahren
16.806 Beiträge seit 2008
vor 2 Jahren

Tipp: verwende Refit.
Damit sparst Dir 90% des Codes, hast niemals Dopplungen und hast eine implizite statt explizite Funktionsweise.

4.931 Beiträge seit 2008
vor 2 Jahren

Hallo schuppsl,

dein eigentlicher Link ist falsch (zeigt auf dein eigenes Thema 😉.

Hinweis von Abt vor 2 Jahren

Lag am falsch verwendeten BBCode, der dann nicht gerendert wird.
Habs korrigiet.