Skip to content

Implement SSO with MFA for Login Management and Kubernetes Integration #113

@tsviz

Description

@tsviz

Background

Currently, login management is not fully visible in the codebase, and there is a need to enhance authentication by implementing Single Sign-On (SSO) with Multi-Factor Authentication (MFA). This will improve security and user experience, especially for enterprise and cloud deployments.

Acceptance Criteria

  • Integrate Spring Security with an external Identity Provider (IdP) (e.g., Azure AD, Okta, Google) for SSO using OAuth2/OpenID Connect.
  • Enforce MFA for all users during login, using TOTP (authenticator app) or IdP-provided MFA.
  • Secure session management (HTTP-only, secure cookies, session timeout).
  • Protect all sensitive endpoints and resources.
  • Provide clear error messages and audit logging for authentication events.
  • Update or create documentation for login, SSO, and MFA setup.
  • Ensure the solution works in Kubernetes (k8s) deployments:
    • All secrets (client IDs, secrets, MFA keys) are stored securely (Kubernetes secrets or external vault).
    • Any required environment variables or config maps are documented and referenced in k8s manifests.
    • Health/readiness/liveness probes are not affected by authentication changes.
    • Update Helm charts and k8s manifests as needed.

Implementation Notes

  • Use Spring Security best practices for SSO and MFA.
  • For k8s, use secrets for sensitive data and document all changes in the deployment manifests and Helm charts.
  • Test authentication flow in both local and k8s environments.

Please review and refine acceptance criteria as needed.

Metadata

Metadata

Assignees

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions