Hallo zusammen,
ich stehe vor einem Problem mit der OAuth-Authentifizierung in Portainer über zwei verschiedene Domains und hoffe auf eure Unterstützung.
Ausgangssituation:
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:
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!
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
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:
- 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.
- 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.
- 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.
- 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.
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!