Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
[gelöst] RestSharp Client Authorization mit Bearer Name+Password "UNAUTHORIZED"
schuppsl
myCSharp.de - Member



Dabei seit:
Beiträge: 786

Themenstarter:

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

beantworten | zitieren | melden

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....
Dieser Beitrag wurde 1 mal editiert, zum letzten Mal von schuppsl am .
private Nachricht | Beiträge des Benutzers
schuppsl
myCSharp.de - Member



Dabei seit:
Beiträge: 786

Themenstarter:

beantworten | zitieren | melden

Habe die Lösung gefunden:
sending-oauth-token-works-in-postman-but-does-not-work-in-restsharp
private Nachricht | Beiträge des Benutzers
Abt
myCSharp.de - Team

Avatar #avatar-4119.png


Dabei seit:
Beiträge: 16214

beantworten | zitieren | melden

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

Microsoft MVP - @Website - @blog - @AzureStuttgart - github.com/BenjaminAbt
private Nachricht | Beiträge des Benutzers
Th69
myCSharp.de - Experte

Avatar #avatar-2578.jpg


Dabei seit:
Beiträge: 4191

beantworten | zitieren | melden

Hallo schuppsl,

dein eigentlicher Link ist falsch (zeigt auf dein eigenes Thema ;-).

Moderationshinweis von Abt (27.07.2021 - 11:32:24):

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

private Nachricht | Beiträge des Benutzers