Einzelnen Beitrag anzeigen

Bbommel

Registriert seit: 27. Jun 2007
Ort: Köln
655 Beiträge
 
Delphi 12 Athens
 
#2

AW: TOAuth2Authenticator - Anforderung eines neuen AccessTokens

  Alt 28. Okt 2019, 14:37
Du nutzt die falsche Funktion. Je nach genauer Implementierung von OAuth2 bekommst du bei der Anmeldung zunächst ein "Authorisierungstoken". Dieses Auth-Token muss dann in einem weiteren Schritt gegen das eigentliche Access-Token umgetauscht werden. Genau dafür ist die von dir aufgerufene ChangeAuthCodeToAccesToken eigentlich gedacht und/oder sie muss entsprechend implentiert werden.

Was du hier laut deinem Code aber versuchst: du versuchst das alte Access-Token (jedenfalls nehme ich an, dass das in fAccessToken steht) mit dieser Funktion in ein neues Access-Token umzutauschen. Das wird nicht funktionieren, denn dafür ist diese Funktion und die zugehörige API nicht da.

Oftmals gibt es bei OAuth2 ein Refresh-Token. Das ist genau dafür da, um mit ihm ohne neue Benutzer-Anmeldung im Hintergrund ein neues Access-Token abzufragen. Das Refresh-Token sollte auch im TOAuth2Authenticator gespeichert sein, wenn ich mich recht entsinne. Die API, wie man ein RefreshToken in ein neues AccessToken umtauschen kann, sollte von deinem Auth-Anbieter dokumentiert sein und die müsstest du dann ggf. noch implentieren.
  Mit Zitat antworten Zitat