Skip to content

feat: oidc#292

Merged
gusfcarvalho merged 10 commits intomainfrom
gc-feat-oidc
Dec 23, 2025
Merged

feat: oidc#292
gusfcarvalho merged 10 commits intomainfrom
gc-feat-oidc

Conversation

@gusfcarvalho
Copy link
Contributor

No description provided.

…ation page

Signed-off-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
Signed-off-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
Signed-off-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
Signed-off-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
Copilot AI review requested due to automatic review settings December 22, 2025 17:24
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This pull request adds comprehensive OIDC (OpenID Connect) authentication support to the Compliance Framework API, enabling SSO login through providers like Google and GitHub alongside the existing password-based authentication.

Key Changes

  • Added OIDC configuration system with support for multiple authentication providers (Google, GitHub, and generic OIDC)
  • Implemented Just-In-Time (JIT) user provisioning with group-based authorization
  • Restructured user management API routes to /admin/users with new admin group enforcement middleware
  • Modified User model to support multiple authentication methods and remove password requirement for OIDC users

Reviewed changes

Copilot reviewed 16 out of 19 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
oidc.yaml Configuration template for OIDC providers with example Google and GitHub setups
internal/config/oidc.go OIDC configuration loader with environment variable expansion support
internal/service/relational/oidc.go Database model for linking users to external OIDC providers
internal/service/relational/ccf_internal.go Modified User model to support OIDC authentication method
internal/service/oidc/service.go Core OIDC service implementing provider initialization, OAuth flows, and user info retrieval
internal/api/handler/auth/oidc.go HTTP handlers for OIDC login flow including provider listing and callback handling
internal/api/middleware/admin.go New middleware enforcing admin group requirements for OIDC users
internal/api/handler/users.go Enhanced user handler with OIDC provider information and split routes
internal/api/handler/api.go Route registration splitting admin and self-service user endpoints
go.mod / go.sum Added dependencies for coreos/go-oidc and golang.org/x/oauth2

💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

fix: integration test failures
Signed-off-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
Signed-off-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
Signed-off-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
Signed-off-by: Gustavo Carvalho <gustavo.carvalho@container-solutions.com>
Copy link
Contributor

Copilot AI left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

Copilot reviewed 71 out of 72 changed files in this pull request and generated no new comments.


💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.

@gusfcarvalho gusfcarvalho merged commit a857981 into main Dec 23, 2025
10 checks passed
@gusfcarvalho gusfcarvalho deleted the gc-feat-oidc branch December 23, 2025 13:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants