Delphi-PRAXiS
Seite 2 von 3     12 3      

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Programmieren allgemein (https://www.delphipraxis.net/40-programmieren-allgemein/)
-   -   REST-API - Überstellung X-Authorization Token (https://www.delphipraxis.net/203906-rest-api-ueberstellung-x-authorization-token.html)

Uwe Raabe 6. Apr 2020 15:05

AW: REST-API - Überstellung X-Authorization Token
 
Und wie bist du an das Token gekommen?

lowmax_5 6. Apr 2020 15:14

AW: REST-API - Überstellung X-Authorization Token
 
Ermittlung des Tokens erfolgt laut Doku wie folgt:

POST https://vrmapi.victronenergy.com/v2/auth/login

{
"username": "john@example.com",
"password": "secret-passw0rd"
}

und gibt mir den Token und die idUser zurück.

hhcm 6. Apr 2020 15:26

AW: REST-API - Überstellung X-Authorization Token
 
Jetzt hampeln wir seit einer Seite über "X-Authorization: Token <your-personal-access-token>"
Laut Doku ist das falsch. WIE hast du "X-Authorization: Bearer {token}" versucht?

Uwe Raabe 6. Apr 2020 15:34

AW: REST-API - Überstellung X-Authorization Token
 
OK, dann würde ich mal dies probieren:

Delphi-Quellcode:
RestClient.AddAuthParameter('X-Authorization','Bearer '+token, TRESTRequestParameterKind.pkHTTPHEADER);

lowmax_5 6. Apr 2020 15:36

AW: REST-API - Überstellung X-Authorization Token
 
Mit

Code:
RESTClient.SetHTTPHeader('X-Authorization: Bearer ',token);
und

Code:
RestClient.AddAuthParameter('X-Authorization: Bearer',token, TRESTRequestParameterKind.pkHTTPHEADER);
und

Code:
RestClient.AddAuthParameter('X-Authorization','Bearer '+token, TRESTRequestParameterKind.pkHTTPHEADER);
jeweils immer 401

Rolf Frei 6. Apr 2020 15:51

AW: REST-API - Überstellung X-Authorization Token
 
Ist da der "X-Authorization" Header wirklich richtig? Müsste das nicht der normale "Authorization" Header sein? Hast du das schon mal versucht?

Versuch auch mal das Token Base64 encoded zu übergeben?
X-Authorization Bearer {base64 encoded Token}

Die Doku ist da leider schon sehr mangelhaft.

hhcm 6. Apr 2020 16:12

AW: REST-API - Überstellung X-Authorization Token
 
Kommt denn beim request nur ein 401 oder gibts da auch im response noch Info´s?

Ich würde erst mal Delphi bei Seite legen und Tools wie curl oder postman nutzen.
Tritt der Fehler da auch auf?

jfheins 6. Apr 2020 16:45

AW: REST-API - Überstellung X-Authorization Token
 
Kannst du irgendwie nicht nur den Response code auswerten (401) sondern gucken, was wirklich gesendet wird?

Da gibt es Tools, wie z.B. Fiddler, die die jeden HTTP Request mitloggen. Dann kannst du gucken was dein Programm wirklich sendet und ob es mit dem übereinstimmt, was es senden sollte. So Trial&Error ist doch doof ;-)

Rollo62 6. Apr 2020 17:21

AW: REST-API - Überstellung X-Authorization Token
 
Hast Du mal den RestDebugger ausprobiert, geht es damit ?
Oder mit anderen REST-Tools ?

lowmax_5 6. Apr 2020 23:01

AW: REST-API - Überstellung X-Authorization Token
 
Das ist sicherlich keine schlechte Idee, das ganze mal ohne Delphi zu testen.

Ich habe nun mal mit Postman ein Authorization 'Bearer Token' abgesetzt und bekomme folgende Rückmeldung

{
"success": false,
"errors": "Login required",
"error_code": "invalid_credentials"
}

Auch andere scheinen ein ähnliches Problem zu haben:
https://community.victronenergy.com/...error-401.html

Nachtrag1:
Mit Postman hat es nun zumindest schon mal geklappt::-D Jipee!
Unter Headers einen Key mit 'X-Authorization' anlegen + in die Value Bearer + Leerzeichen + Token

Nachtrag2:
:evil: Arghhhhhhhhhh!!! Der Token hatte Quotes.... :oops: ==> AnsiDequotedStr

Nachtrag3:
Nun hätte es mit Delphi ja auch funktionieren sollen:


Code:
RESTClient.SetHTTPHeader('X-Authorization','Bearer ' +  token);
oder
Code:
RESTRequest.Params.AddHeader('X-Authorization', 'Bearer ' + token);
Code:
oder
RestClient2.AddAuthParameter('X-Authorization','Bearer ' + token, TRESTRequestParameterKind.pkHTTPHEADER);
Das funktioniert nun leider nicht. Was mache ich da noch falsch?


Alle Zeitangaben in WEZ +1. Es ist jetzt 06:28 Uhr.
Seite 2 von 3     12 3      

Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz