AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Zurück Delphi-PRAXiS Programmierung allgemein Netzwerke Delphi OAuth2 erste Schritte
Thema durchsuchen
Ansicht
Themen-Optionen

OAuth2 erste Schritte

Ein Thema von haentschman · begonnen am 2. Nov 2022 · letzter Beitrag vom 7. Nov 2022
 
Benutzerbild von gubbe
gubbe

Registriert seit: 8. Okt 2005
Ort: Schleswig-Holstein
172 Beiträge
 
Delphi 12 Athens
 
#7

AW: OAuth2 erste Schritte

  Alt 3. Nov 2022, 09:28
Wow, das ist ja mal eine ausführliche und verständliche Beschreibung von Phoenix. Danke, sehr interessant.

Zur Diskussion ein paar Anmerkungen:

Lokal einen Webserver auf localhost zu starten, um per Redirect vom Server (dem Identity Provider) den Code zu empfangen ist tatsächlich gängig. Das Problem, dass man vorher den lokalen Port kennen muss, kann man aber lösen. Üblicherweise sucht man lokal nach einem freien Port und startet den Webserver erst dann. Die Redirect-URL übergibt man mit dem Port. Auf dem Server muss es dann natürlich möglich sein, bei der Registrierung der Client-Applikation den Port als Wildcard zu definieren oder mehrere URLs mit einer Auswahl an möglichen Ports anzugeben. Wenn man den Webserver vorher startet, kann auch kein anderes Programm den Port belegen.

Für Localhost braucht man kein Zertfikat. Der Redirect im Browser passiert ja nur lokal direkt an localhost. Das bleibt alles auf dem Client und kann folglich nicht von Dritten abgehört werden. Ausnahme wäre ein lokales Programm, aber das hätte dann ja auch ganz andere Möglichkeiten, z.B. die Tastatureingaben mitzulesen. Die Gefahr, dass sich eine andere Applikation dazwischen drängelt, hättest du ja auch bei einem Custom-Protocol, denn das ist nur ein Registry-Eintrag, den eine andere Applikation überschreiben könnte.

Wenn einen stört, dass für jedes Login ein neues Tab im Browser aufgemacht wird, kann man das Login im Prinzip auch im eigenen Programm in einem eingebetteten Browser abhandeln. Das entspricht nicht den offiziellen Empfehlungen, wird aber trotzdem häufig so gemacht, auch von Microsoft. Die Nachteile sind, dass der Benutzer ohne Adressleiste nicht sieht, wo er seine Daten eingibt, deiner Applikation also unbedingt vertrauen muss und dass er sich neu anmelden muss, auch wenn er in seinem Standard-Browser ggf. schon angemeldet war.

Zum Thema Hintergrund-Dienst: Da kenne ich die APIs von Microsoft jetzt nicht, aber im Prinzip gibt es dafür bei OAuth2 die Offline-Tokens. Das sind Refresh-Tokens mit einer sehr langen Laufzeit. Wenn man den Dienst einmal über den Browser angemeldet hat, speichert er das Token und kann es immer wieder verwenden, um es gegen ein aktuelles Access-Token einzutauschen.

Was mich interessieren würde, ist das von dir erwähnte Verfahren bei Postman. Ich kenne Postman jetzt nur als Tool zum Debuggen von APIs. Wo könnte ich denn hier das beschriebene Verfahren finden, dass der Redirect an einen Server geht und der Client die Daten mit diesem austauscht?
  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 00:50 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