Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Sonstige Fragen zu Delphi (https://www.delphipraxis.net/19-sonstige-fragen-zu-delphi/)
-   -   Delphi IdHTTP + Digest Authentication (https://www.delphipraxis.net/91406-idhttp-digest-authentication.html)

Stephan 4. Mai 2007 12:18


IdHTTP + Digest Authentication
 
Hallo,

Ich möchte über die Indy HTTP Komponente eine Digest Authentifizierung auf einem entfernten Server durchführen. Leider funktioniert dies (im Gegensatz zur Basic Authentication) nicht ganz so einfach. Bei den Indy Komponenten ist eine extra Klasse "TIdDigestAuthentication" enthalten. Wenn ich folgenden Code ausführe:

Delphi-Quellcode:
var
 d: TIdDigestAuthentication;
begin
 d := TIdDigestAuthentication.Create;
 d.Username := 'test';
 d.Password := 'test';
 showmessage(d.Authentication);
end;
wird mir auch der entsprechende Authentication String angezeigt. Nur wie kann ich dies mit der IdHTTP Komponente verbinden?

Hat von euch jemand schon eine Digest Authentifizierung erfolgreich hinbekommen? (zur Not auch ohne Indy).

Danke im Voraus!

CCRDude 4. Mai 2007 12:48

Re: IdHTTP + Digest Authentication
 
Ich hab das mal mit Synapse für die Serverseite umgesetzt gehabt, und von daher noch einen Verweis gefunden, nachdem ich das gebaut hatte: Digest access authentication. Leider komme ich gerade einfach nicht auf die Wikipedia drauf, aber wenn ich mir richtig erinnere, geht es darum, das Headerfeld WWW-Authenticate auszulesen und darauf basierend eine passende Antwort zu "stricken" (Strings zusammenhängen, MD5 drüber aufbauen). Der Unterschied zur Basic Authentication dürfte dabei unter anderem in Nonce liegen, die ein zufälliger pro Verbindung anderer Wert ist.

Stephan 4. Mai 2007 13:06

Re: IdHTTP + Digest Authentication
 
Hallo,

Danke für deine Antwort.

Zitat:

wenn ich mir richtig erinnere, geht es darum, das Headerfeld WWW-Authenticate auszulesen und darauf basierend eine passende Antwort zu "stricken" (Strings zusammenhängen, MD5 drüber aufbauen)
das ist richtig. Es handelt sich um ein Challenge-Response Verfahren.

In der Versionshistory der IdHTTP steht jedoch geschrieben, dass diese die Digest Authentifizierung eigentlich unterstützen sollte.

Zitat:

- Now the component authomaticly reconginizes the requested authorization scheme and it supports Basic like before and has been
extend to support Digest authorization
Ich würde gerne auf die Implementierung in den Indy Komponenten zurück greifen (ansonsten ist das ziemlich viel Arbeit). Irgendwie soll das wohl auch angeblich gehen - ich versuch es zwar schon ein paar Stunden, bekomme es aber nicht zum laufen.

Stephan 4. Mai 2007 13:58

Re: IdHTTP + Digest Authentication
 
Hallo,

Ich habe einfach mal bei "OnAuthorization" folgendes eingefügt:

Delphi-Quellcode:
showmessage('test');
Leider erscheint nie die Messagebox "test". Offensichtlich wird die Funktion "OnAuthorization" niemals von IdHTTP ausgeführt?


Alle Zeitangaben in WEZ +1. Es ist jetzt 12:42 Uhr.

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