Authentication with Keycloak
We use Keycloak as Identity Provider to provide secure, centralised authentication and user management for our paltform.
General Login Flow​
- The user attempts to access a protected application or resource.
- The application redirects the user to Keycloak's login endpoint.
- The user enters their credentials on the Keycloak login page.
- Upon successful authentication, Keycloak redirects the user back to the application using a pre-configured redirect URI, along with an authorization code.
- The application exchanges the authorization code for an ID token and access token by communicating with Keycloak’s token endpoint.
- The ID token is used to identify the user, and the access token can be used to call protected APIs or services on behalf of the user.
- The user is now authenticated within the application.
- Keycloak login URL :
https://auth.uicstat.com/realms/bayes-cluster/account/
Kubeflow as Example​
Kubeflow uses Keycloak as its Identity Provider to handle user authentication via OIDC. When a user tries to access the Kubeflow dashboard:
- The user navigates to the Kubeflow UI.
- Kubeflow detects that the user is not authenticated and redirects them to Keycloak’s login page.
- The user signs in with their Keycloak credentials.
- Upon successful login, Keycloak redirects the user back to Kubeflow’s configured redirect URI with an authorization code.
- Kubeflow exchanges this authorization code for tokens from Keycloak.
- Using the ID token, Kubeflow identifies the user and creates a session.
- The user gains access to Kubeflow’s dashboard and services based on their permissions.
Further usage of kubeflow, please follow kubeflow