DataCater / datacater

The developer-friendly ETL platform for transforming data in real-time. Based on Apache Kafka® and Kubernetes®.
https://datacater.io
Other
82 stars 4 forks source link

Authentication / Authorization Configuration via Runtime Variables #95

Closed HknLof closed 1 year ago

HknLof commented 1 year ago

Allow authentication mechanisms to be provided at runtime.

As if now, we have three build time variables that are used for setting up the different authentication methods, which means, we would need different images for different auth methods. It is possible to set the auth method at runtime, so we should create mapper variables to set the auth method at runtime inside the AuthMthodController

The build time variables are: quarkus.http.auth.basic quarkus.oidc.enabled quarkus.security.users.embedded.enabled

ChrisRousey commented 1 year ago

quarkus.oidc.enabled:

quarkus.http.auth.basic:

quarkus.security.users.embedded.enabled:

ChrisRousey commented 1 year ago

If multiple auth methods are activated, quarkus chooses the method based on priority, basic being the highest. This is addressed by adding a custom HttpAuthenticationMechanism, which chooses between oidc and basic based on what is set in datacater.authorization.oidc