![]() |
OAuth 2 für Authentifikation - wer kann mich aufklären
Hallo,
ich habe vor, die Authentifikation für eine Webseite über einen OAuth 2 Provider abzuwickeln. Jetzt findet man zur grundlegenden Funktionsweise von OAuth 2 ja ausreichend Informationen und mir ist auch völlig klar, wie ich theoretisch zu Access / Refresh Tokens komme. Die helfen mir ja aber in erster Linie erstmal nur dazu weiter, im Namen des Resource Owners Requests an den OAuth Provider zu schicken. Ich möchte das ganze aber in erster Linie als Ersatz für eine eigene Username/Passwort-Authentifikation einsetzen, und wie man das am besten anstellt, dazu konnte ich wirklich gar nichts finden. Speichere ich das Token in der Session des Users? Klingt eher blöd, dann müsste ich ja bei jedem Request das Token validieren, was einen weiteren Request zum OAuth Provider bedeuten würde. Genauso möchte ich verhindern, dass der User bei jedem neuen Besuch sichtbar über den OAuth Provider umgeleitet wird, wenn er die Autorisation schon einmal erteilt hat. Und zu guter letzt, wie unterscheide ich eigentlich neue Benutzer (="Registrierung") und solche, die bereits "angemeldet" sind, BEVOR ich den Benutzer zum OAuth-Provider umleite? Wer hat Erfahrung mit diesem Szenario und kann diese mit mir teilen? Alternativ wäre ich auch mit einer Quelle zu dieser Thematik zufrieden, wie gesagt konnte ich leider nichts dazu finden. Viele Grüße |
AW: OAuth 2 für Authentifikation - wer kann mich aufklären
warum muss das token bei jedem weiteren request erneut validiert werden, wenn es in der session gespeichert ist? die session ist serverseitig. wenn kein risiko eines session-hijacking besteht, sollte das sicher sein.
|
AW: OAuth 2 für Authentifikation - wer kann mich aufklären
Zitat:
|
AW: OAuth 2 für Authentifikation - wer kann mich aufklären
Zitat:
Nur die Sessioon-Id ist als Cookie notwendig, der Client ist damit identifizierbar. Wenn die Session Id gültig ist, weiss der Server auch, ob die Session bereits authentifiziert wurde. Der Server hat ja ausser der Session Id beliebige Sessiondaten. Ein Boolean IsAuthenticated genügt. |
AW: OAuth 2 für Authentifikation - wer kann mich aufklären
Zitat:
Also speichere ich mir in einer Tabelle zu jedem Benutzer Auth Token + Refresh Token + Expiration Date. Bei erfolgtem Login speichere ich in einer Session Tabelle die UserId / Session Id. Und wenn ein wiederkehrender Besucher kein gültiges Access Token mehr hat, führe ich im Hintergrund den Refresh aus. |
AW: OAuth 2 für Authentifikation - wer kann mich aufklären
Zitat:
Ich überlege auch in meinem Webframework OpenId oder Oauth zu unterstutzen, habe mich aber mit der Suche nach Delphi/Free Pascal Libraries bisher noch zurückgehalten. Happy Coding! |
Alle Zeitangaben in WEZ +1. Es ist jetzt 03:23 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