OAuth-Authentifizierung in Portainer über zwei Domains funktioniert nicht (Traefik & Authentik)

Bx99

Benutzer
Mitglied seit
09. Okt 2023
Beiträge
11
Punkte für Reaktionen
5
Punkte
3
Hallo zusammen,

ich stehe vor einem Problem mit der OAuth-Authentifizierung in Portainer über zwei verschiedene Domains und hoffe auf eure Unterstützung.

Ausgangssituation:

  • Ich nutze Portainer zur Verwaltung meiner Docker-Umgebung.
  • Als Reverse Proxy setze ich Traefik ein.
  • Für die OAuth-Authentifizierung verwende ich Authentik als Identity Provider.
  • Ich möchte auf Portainer über zwei verschiedene Domainszugreifen:
    • Externe Domain: portainer.example.com
    • Interne Domain: portainer.intern
Problem:

Portainer erlaubt in seinen Einstellungen für die OAuth-Authentifizierung nur die Angabe einer einzigen Redirect-URL. Das führt dazu, dass die OAuth-Anmeldung standardmäßig nur über eine Domain funktioniert.

Wenn ich die Redirect-URL in Portainer auf https://portainer.example.com/ setze, funktioniert die OAuth-Anmeldung über diese Domain einwandfrei. Versuche ich jedoch, mich über die interne Domain https://portainer.intern anzumelden, erhalte ich den Fehler:

"Invalid OAuth state, try again."

Bisherige Lösungsansätze:


  1. Host-Header-Umschreibung in Traefik:
    • Ich habe versucht, den Host-Header in Traefik umzuschreiben, sodass Anfragen von der internen Domain an Portainer mit dem externen Host-Header weitergeleitet werden.
    • Das führte jedoch zu Problemen mit Sessions und Cookies, da diese an die ursprüngliche Domain gebunden sind. Dadurch tritt der oben genannte Fehler auf.
  2. Verwendung eines OAuth2-Proxys:
    • Ich habe erwogen, einen OAuth2-Proxy einzusetzen, der die Authentifizierung vor Portainer abwickelt.
    • Dabei wurde ich jedoch beim Zugriff auf Portainer zweimal zur Anmeldung aufgefordert: einmal vom Proxy und dann erneut über den OAuth-Button in Portainer.
    • Dieses doppelte Anmelden möchte ich vermeiden.
  3. Einsatz des Proxy Providers in Authentik:
    • Der Proxy Provider von Authentik eignet sich eher für Anwendungen, die keine native OAuth-Unterstützung haben. Da ich die OAuth-Funktionalität in Portainer direkt nutzen möchte, ist dieser Ansatz für mich nicht geeignet.
  4. Verwendung einer einzigen Domain:
    • Die Beschränkung auf eine einzige Domain ist für mich leider keine Option, da ich sowohl die externe als auch die interne Domain nutzen möchte.
Frage:

Gibt es eine Möglichkeit, die OAuth-Anmeldung in Portainer so zu konfigurieren, dass sie über beide Domainsfunktioniert, ohne dass ich mich doppelt anmelden muss oder auf eine Domain verzichten muss? Ich möchte über beide Domains auf Portainer zugreifen und den OAuth-Login-Button verwenden können, ohne dass Session-Probleme oder der Fehler "Invalid OAuth state, try again." auftreten.

Ich bin offen für alternative Ansätze oder Lösungen, die mein Problem lösen könnten.
Vielen Dank im Voraus für eure Hilfe!
 


 

Kaffeautomat

Wenn du das Forum hilfreich findest oder uns unterstützen möchtest, dann gib uns doch einfach einen Kaffee aus.

Als Dankeschön schalten wir deinen Account werbefrei.

:coffee:

Hier gehts zum Kaffeeautomat 

 
 
  AdBlocker gefunden!

Du bist nicht hier, um Support für Adblocker zu erhalten. Dein Adblocker funktioniert bereits ;-)

Klar machen Adblocker einen guten Job, aber sie blockieren auch nützliche Funktionen.

Das Forum wird mit hohem technischen, zeitlichen und finanziellen Aufwand kostenfrei zur Verfügung gestellt. Wir zeigen keine offensive Werbung und bemühen uns um eine dezente Integration.

Bitte unterstütze dieses Forum, in dem du deinen Adblocker für diese Seite deaktivierst.

Du kannst uns auch über unseren Kaffeautomat einen Kaffe ausgeben oder ein PUR Abo abschließen und das Forum so werbefrei nutzen.

Vielen Dank für Deine Unterstützung!