-
Notifications
You must be signed in to change notification settings - Fork 32
✨ web-server: Add Stand-alone Auth-App Entrypoint to Web-Server #7818
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
✨ web-server: Add Stand-alone Auth-App Entrypoint to Web-Server #7818
Conversation
Codecov ReportAttention: Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## master #7818 +/- ##
==========================================
- Coverage 85.40% 82.35% -3.06%
==========================================
Files 1718 676 -1042
Lines 66138 31277 -34861
Branches 1137 0 -1137
==========================================
- Hits 56488 25757 -30731
+ Misses 9331 5520 -3811
+ Partials 319 0 -319
Continue to review full report in Codecov by Sentry.
🚀 New features to boost your workflow:
|
d01fb21 to
9d33e95
Compare
…th and clean up unused code
…etup_products call in security plugin
sanderegg
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
very nice Thanks!
Thought, in the end we could completely offload the auth to that service. and move it to go or rust if needed.
services/web/server/src/simcore_service_webserver/security/plugin.py
Outdated
Show resolved
Hide resolved
services/web/server/src/simcore_service_webserver/application_settings.py
Outdated
Show resolved
Hide resolved
giancarloromeo
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice move
bisgaard-itis
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I very much like the idea. I wonder though if it would not be more valuable to go for a standardized, well-supported solution specializing in this. I am thinking something similar to Traefik, but for authentication. I investigated a bit potential solutions with perplexity and he suggested https://github.com/keycloak/keycloak. Might be interesting to look into.
@bisgaard-itis yes. I am aware of keycloak, actually we reveiwed it at the beginning of osparc :-) but at the time it was too big for us. Nonetheless, my point is that the new |
|
|
@mergify queue |
🟠 Waiting for conditions to match
|



What do these changes do?
This PR introduces a stand-alone entrypoint in the web-server that builds a lightweight app dedicated to authentication. This new app mainly includes the
login_authdomain, which exposes a minimal REST API with the/auth:checkendpoint.In upcoming PRs, we’ll introduce a new service (tentatively

wb-auth-server) based on theitisfoundation/webserverimage to run this auth app. At that point, the Traefik reverse proxy's auth middleware will be configured to point to this service:Unlike other services based on
itisfoundation/webserver(e.g.webserver,wb-api-server,wb-db-event-listener,wb-garbage-collector), this one builds the domain explicitly via a dedicated entrypoint function (create_application_auth) rather than only relying on env-vars.Changes
login_authfrom thelogindomainlogindepends onlogin_auth, but not vice versaapplication.pynow providescreate_application_authRelated issue/s
How to test
Dev-ops