AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke TNetHTTPClient.post -> Fehler beim Abrufen des Sitzungs-Handle
Thema durchsuchen
Ansicht
Themen-Optionen

TNetHTTPClient.post -> Fehler beim Abrufen des Sitzungs-Handle

Ein Thema von erich.wanker · begonnen am 18. Jan 2023 · letzter Beitrag vom 19. Jan 2023
 
Benutzerbild von erich.wanker
erich.wanker

Registriert seit: 31. Jan 2008
Ort: im schönen Salzburger Land
464 Beiträge
 
Delphi XE4 Professional
 
#1

TNetHTTPClient.post -> Fehler beim Abrufen des Sitzungs-Handle

  Alt 18. Jan 2023, 20:57
Delphi 10.4 -Es geht um eine ISAPI DLL und OAuth2.0


Hallo
Ich bekomme nach einer Microsoft-Anmeldung via Redirect-Url Parameter .. diese sende ich dann an Microsoft um einen Token zu bekommen damit ich die Mailadresse des Users auslesen kann..

Code:
http := TNetHTTPClient.Create( Self );
.....
Lresponse :=  http.post(  'https://login.microsoftonline.com/organizations/oauth2/v2.0/token', params );

Das funktioniert bei mir auf einen Win10-Stand Anlone PC mit IIS und selbsterzeugten Zertifikat einwandfrei

Aber auf einem Server (in einer Domain) mit IIS 2022 NICHT (Selbst erzeugtes Zertifikat der Organisation) ...

Dort bekomme ich immer den Fehler "Fehler beim Abrufen des Sitzungs-Handle"

An was kann das liegen ???

Danke für Hinweise und Ideen
Erich



PS. Hier der ganze Schnipsel:

Delphi-Quellcode:
CallBackFrom := uniGUIApplication.UniApplication.parameters.Values[ 'oauth2callback' ];
AzureAuthCode := uniGUIApplication.UniApplication.parameters.Values[ 'code' ];
state := uniGUIApplication.UniApplication.parameters.Values[ 'state' ];
CallBackFrom := uniGUIApplication.UniApplication.parameters.Values[ 'oauth2callback' ];

      if ( CallBackFrom = 'azure' )
      then
      begin

        try
          try

            http := TNetHTTPClient.Create( Self );
            params := TStringList.Create;
            params.Add( 'code=' + UniMainModule.AzureAuthCode );
            params.Add( 'client_id=' + C_client_id_Az );
            params.Add( 'client_secret=' + C_client_secret_Az );
            params.Add( 'scope=' + C_scope_Az );
            params.Add( 'redirect_uri=' + C_redirect_uri_Az );
            params.Add( 'grant_type=authorization_code' );

            Lresponse := http.post( 'https://login.microsoftonline.com/organizations/oauth2/v2.0/token', params );


            if Lresponse.StatusText = 'OK'
            then
            begin
              token := GetSimpleValue( Lresponse.ContentAsString,
                'access_token' );
              GToken := stringreplace( token, '"', '', [ rfreplaceall ] );;
              Lresponse := http.get( 'https://graph.microsoft.com/v1.0/me', nil,[ TNetHeader.Create( 'Authorization', 'Bearer ' + GToken ) ] );
              if Lresponse.StatusText = 'OK'
              then
              begin
                UniMainModule.AUserName := stringreplace( GetSimpleValue( Lresponse.ContentAsString,'mail' ), '"', '', [ rfreplaceall ] );
                UniMainModule.LoginType := 2;
              end;

            end;

          Except
            on E : exception do
            begin
              UniMainModule.LoginType := 0;
              UniSession.Log(E.Message);
            end;
          end;

        finally
          http.Free;
          params.Free;

        end;
      end;


    function GetSimpleValue( Jstring, key : string ) : string;
      var
        jv, fv : TJSONValue;
      begin
        Result := '';
        jv := TJSonObject.ParseJSONValue( Jstring );
        fv := jv.FindValue( key );
        if fv <> nil
        then
          Result := fv.ToString;
      end;
Erich Wanker - for life:=1971 to lebensende do begin ..
O
/H\
/ \
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 14:36 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 by Thomas Breitkreuz