AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi TRESTClient und Negotiate (Kerberos) Authentifizierung

TRESTClient und Negotiate (Kerberos) Authentifizierung

Ein Thema von MaBuSE · begonnen am 1. Jul 2016 · letzter Beitrag vom 27. Okt 2020
Antwort Antwort
Seite 1 von 2  1 2   
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

TRESTClient und Negotiate (Kerberos) Authentifizierung

  Alt 1. Jul 2016, 18:16
Hallo,
ich habe schon im Internet gesucht, aber nichts gefunden.

Ich möchte auf eine REST API eines ITS (Gemini von Countersoft) zugreifen.
Bei uns in der Firma wird die Anmeldung am System transparent im Hintergrund via Kerberos durchgeführt.

Wenn ich mit den Delphi 10 REST Komponenten darauf zugreifen will bekomme ich nur Fehlermeldungen, das die Anmeldung fehlgeschlagen ist.

Es stehen leider nur folgende Autorisierungstypen zur Verfügung:
NONE, SIMPLE, BASIC, OAUTH und OAUTH2

Ich bräuchte aber Negotiate mit Kerberos (notfalls auch NTLM).
Wobei NTLM bei uns im Netz bald abgeschaltet werden soll

Hat jemand von Euch eine Idee?

Ich habe gesehen, das die TRESTClient Ableitungen der TCustomAuthenticator verwendet.
Gibt es evtl eine TKerberosAuthenticator, TNegotiateAuthenticator oder TNTLMAuthenticator Klasse, die ich nur nicht finde?

Vielen Dank für Eure Antworten

Euer
MaBuSE
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
mjustin

Registriert seit: 14. Apr 2008
3.004 Beiträge
 
Delphi 2009 Professional
 
#2

AW: TRESTClient und Negotiate (Kerberos) Authentifizierung

  Alt 2. Jul 2016, 07:18
Das geht 1-2-3

1. mittels Nezwerksniffer oder HTTP Proxy die Anmeldung bei einem funktionierenden Client aufzeichnen (Wireshark, Fiddler2)

2. Delphi REST Komponente anpassen (z.B. eine neue Klasse ableiten)

3. ein Kerberos Ticket über Windows API abrufen

Links:

http://stackoverflow.com/questions/1...et-with-delphi
http://msdn.microsoft.com/en-us/libr...8VS.85%29.aspx
http://www.delphipraxis.net/184110-k...dl-import.html

Im letzten Link findet man auch etwas Sourcecode. Der letzte Schritt ist allerdings der herausfordernste. Zitat: "Ich halte Kerberos mittlerweile für eine Art weissen Wal, den jeder angeblich mal gesehen hat"
Michael Justin
habarisoft.com
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.760 Beiträge
 
Delphi 11 Alexandria
 
#3

AW: TRESTClient und Negotiate (Kerberos) Authentifizierung

  Alt 4. Jul 2016, 08:50
Wenn Du die Möglichkeit dazu hast, dann lass die Kerberos-Transaktion von einer .net dll oder ähnlichem machen. Mit .net ist Kerberos innerhalb von wenigen Codezeilen erledigt - es ist im Framework eingebaut. Mit Delphi-Bordmitteln habe ich seinerzeit keine Chance gehabt und einen riesen Frust geschoben.

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#4

AW: TRESTClient und Negotiate (Kerberos) Authentifizierung

  Alt 4. Jul 2016, 09:34
Das geht 1-2-3
Danke für Deine Antwort.

Ich sehe es nicht als meine Aufgage via Reverse Engineering herauszufinden wie ein Standard Verfahren funktioniert um es dann in Delphi nachzuprogrammieren.

Aus diesem Grund verwende ich ja Delphi, damit ich nicht alles zu Fuß selbst programmieren muss.

Wir setzen die große (teure) Version vom RAD Studio ein und ich war nur iritiert, das so eine gebräuchliche Standardfunktion aus dem Enterprise Umfeld nicht in Delphi (Enterprise oder Architect Version) enthalten ist.

Laut Feature Matrix ist das tatsächlich nicht der Fall.
Feature Matrix Seite 20/27:
Quelle: https://www.embarcadero.com/docs/rad...ure-matrix.pdf

REST CLIENT LIBRARY AND BAAS
  • REST Client Library for simplified invocation of REST services
  • Authorization support including Basic Authentication, Plan Authentication, OAuth1, OAuth2


Schade, denn so sind die REST Funktionen in Delphi für mich unbrauchbar.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#5

AW: TRESTClient und Negotiate (Kerberos) Authentifizierung

  Alt 4. Jul 2016, 09:38
Wenn Du die Möglichkeit dazu hast, dann lass die Kerberos-Transaktion von einer .net dll oder ähnlichem machen. Mit .net ist Kerberos innerhalb von wenigen Codezeilen erledigt - es ist im Framework eingebaut.
Hab ich leider nicht

Mit Delphi-Bordmitteln habe ich seinerzeit keine Chance gehabt und einen riesen Frust geschoben.
Ja, das kann ich verstehen.
Ich werde mal eine Supportanfrage bei Embarcadero eintüten. Mal sehen was passiert.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.760 Beiträge
 
Delphi 11 Alexandria
 
#6

AW: TRESTClient und Negotiate (Kerberos) Authentifizierung

  Alt 4. Jul 2016, 13:02
Ich drück Dir die Daumen!

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#7

AW: TRESTClient und Negotiate (Kerberos) Authentifizierung

  Alt 12. Jul 2016, 10:29
Ich werde mal eine Supportanfrage bei Embarcadero eintüten. Mal sehen was passiert.
Ich drück Dir die Daumen!
Der Support schreibt, es ist nicht Bestandteil der REST Komponenten. (Das wussten wir schon)
Es wurde noch kein Feature Request zu dem Thema gemacht. Sprich die denken es braucht niemand.
Sein Rat ist einen anzulegen.

Das habe ich getan.

ABER, damit die merken, dass man das auch braucht, sollten möglichst viele dem zustimmen (Bewertung).

https://quality.embarcadero.com/browse/RSP-15455

Bitte gebt mit Eure Stimme.

Anmeldung mit EDN Usernamen (nicht E-Mail Adresse) und EDN Passwort.

Danke für Eure Unterstützung.
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Benutzerbild von Sherlock
Sherlock

Registriert seit: 10. Jan 2006
Ort: Offenbach
3.760 Beiträge
 
Delphi 11 Alexandria
 
#8

AW: TRESTClient und Negotiate (Kerberos) Authentifizierung

  Alt 12. Jul 2016, 10:39
done

Sherlock
Oliver
Geändert von Sherlock (Morgen um 16:78 Uhr) Grund: Weil ich es kann
  Mit Zitat antworten Zitat
Benutzerbild von MaBuSE
MaBuSE

Registriert seit: 23. Sep 2002
Ort: Frankfurt am Main (in der Nähe)
1.837 Beiträge
 
Delphi 10 Seattle Enterprise
 
#9

AW: TRESTClient und Negotiate (Kerberos) Authentifizierung

  Alt 19. Jul 2016, 13:03
Der Feature Request wurde nun von "Reported" auf "Offen" gesetzt

Der Bearbeiter ist nun nicht mehr "Internal QA" sondern "Internal Dev"

Es wurde also in die Entwicklung weitergegeben.

Mal sehen was passiert
(°¿°) MaBuSE - proud to be a DP member
(°¿°) MaBuSE - proud to be a "Rüsselmops" ;-)
  Mit Zitat antworten Zitat
Benutzerbild von himitsu
himitsu

Registriert seit: 11. Okt 2003
Ort: Elbflorenz
43.100 Beiträge
 
Delphi 12 Athens
 
#10

AW: TRESTClient und Negotiate (Kerberos) Authentifizierung

  Alt 19. Jul 2016, 13:07
Hättest doch nicht einen TNegotiateAuthenticator schreiben und jetzt schon benutzen können?
Dann gründest du eine Firma und Emba kauft dich.
Garbage Collector ... Delphianer erzeugen keinen Müll, also brauchen sie auch keinen Müllsucher.
my Delphi wish list : BugReports/FeatureRequests
  Mit Zitat antworten Zitat
Themen-Optionen Thema durchsuchen
Thema durchsuchen:

Erweiterte Suche
Ansicht

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 20:23 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