![]() |
Delphi 11.3 Änderung im OAuth2 Microsoft Graph Api
Hallo zusammen,
hat sich irgendwas in der OAuth2 Komponente in Delphi 11.3 geändert? Ich bekomme einen Auth Code und will damit meinen Token abrufen. Der Code wird in der Variablen FAuthCode gespeichert. Ich verwende folgenden Code:
Delphi-Quellcode:
Ich bekomme allerdings unter Delphi 11.3 einen 400 BadRequest. Wenn ich das gleiche Programm in 11.2 kompiliere läuft es einwandfrei durch.
LClient := TRestClient.Create(OA.AccessTokenEndpoint);
try LCLient.Authenticator := OA; LClient.BaseURL := 'https://login.microsoftonline.com/07a9e2f0-5a0e-406c-a7ff-7b3ab1976b0e/oauth2/v2.0/token'; LRequest := TRESTRequest.Create(LClient); LRequest.Method := TRESTRequestMethod.rmPOST; LRequest.AddAuthParameter('client_id', OA.ClientID, TRESTRequestParameterKind.pkREQUESTBODY); LRequest.AddAuthParameter('scope', OA.scope, TRESTRequestParameterKind.pkREQUESTBODY); LRequest.AddAuthParameter('code', FAuthCode, TRESTRequestParameterKind.pkREQUESTBODY); LRequest.AddAuthParameter('redirect_uri', OA.RedirectionEndpoint, TRESTRequestParameterKind.pkREQUESTBODY); LRequest.AddAuthParameter('grant_type', 'authorization_code', TRESTRequestParameterKind.pkREQUESTBODY); LRequest.Execute; if LRequest.Response.GetSimpleValue('access_token', LToken) then FAccessToken := LToken; if LRequest.Response.GetSimpleValue('refresh_token', LToken) then FRefreshToken := LToken; if LRequest.Response.GetSimpleValue('token_type', LToken) then FTokenType := OAuth2TokenTypeFromString(LToken); if LRequest.Response.GetSimpleValue('expires_in', LToken) then begin LIntValue := StrToIntdef(LToken, -1); if (LIntValue > -1) then FAccessTokenExpiry := IncSecond(Now, LIntValue) else FAccessTokenExpiry := 0.0; end; if (FAccessToken <> '') then FAuthCode := ''; OA.AccessToken := FAccessToken; OA.RefreshToken := FRefreshToken; finally LClient.DisposeOf; end; LG Mirko |
AW: Delphi 11.3 Änderung im OAuth2 Microsoft Graph Api
OA ist was? TOAuth2Authenticator?
|
AW: Delphi 11.3 Änderung im OAuth2 Microsoft Graph Api
Ja genau TOAuth2Authenticator.
LG Mirko |
AW: Delphi 11.3 Änderung im OAuth2 Microsoft Graph Api
Wo wird der Wert für response_type gesetzt? Und was ist der Fehlercode (error) der mit der 400er Response geliefert wird? Z.b.;
AADSTS900561: The endpoint only accepts POST, OPTIONS requests. Received a GET request. |
AW: Delphi 11.3 Änderung im OAuth2 Microsoft Graph Api
Den response_type habe ich hier gar nicht definiert, hat aber bis jetzt einwandfrei funktioniert.
Ich muss morgen nochmal nach dem 400er Fehler schauen, ich habe hier nur Version 11.2 installiert. LG Mirko |
AW: Delphi 11.3 Änderung im OAuth2 Microsoft Graph Api
![]() |
AW: Delphi 11.3 Änderung im OAuth2 Microsoft Graph Api
Ja bei der Anfrage für den Auth Code mache ich das auch. Ich habe eine ähnliche URL wie die auf der Seite und auch response_type=code .
Der Fehler tritt bei der Anfrage zum Access Token auf. LG Mirko |
AW: Delphi 11.3 Änderung im OAuth2 Microsoft Graph Api
![]() |
AW: Delphi 11.3 Änderung im OAuth2 Microsoft Graph Api
An der Stelle wo die Webanmeldung kommt muss es code sein, denn ich brauche einen Auth Code, den ich in einen Access_Token und einen Refresh_Token umwandeln kann.
Es kommt unter 11.3 auch kein 400er Fehler wie ich gerade gesehen habe sondern einfach die Meldung: "OAUTH2-Anmeldung ist nicht ordnungsgemäß eingerichet" . Was bedeutet das? LG Mirko |
AW: Delphi 11.3 Änderung im OAuth2 Microsoft Graph Api
Woher kommt die Meldung? Vom Microsoft Server in der response, von Delphi oder woher sonst? Und ist das die vollständige Fehlermeldung?
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 04:17 Uhr. |
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