Skip to content

Add OAuth2 authentication support#420

Open
dioubernardo wants to merge 10 commits into
benadida:masterfrom
furg-br:master
Open

Add OAuth2 authentication support#420
dioubernardo wants to merge 10 commits into
benadida:masterfrom
furg-br:master

Conversation

@dioubernardo

Copy link
Copy Markdown

This implementation builds upon the existing GitHub authentication code, using it as a base to support a custom OAuth2/SSO server, and has been tested with Keycloak. It also adds the ability to provide custom CA certificates (CA_CERTS) to the HTTP transport.

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Pull request overview

This PR adds OAuth2/SSO authentication support to the Helios voting system, building on the existing GitHub authentication implementation and tested with Keycloak. It also adds support for custom CA certificates in HTTP transport.

  • Adds a new generic OAuth2 authentication system that can be configured for custom OAuth2/SSO providers
  • Introduces CA_CERTS configuration for custom certificate authority support
  • Updates login UI to display custom OAuth provider names

Reviewed changes

Copilot reviewed 5 out of 6 changed files in this pull request and generated 8 comments.

Show a summary per file
File Description
settings.py Adds OAuth2 configuration variables (client ID, secret, URIs, etc.) and CA_CERTS setting; fixes trailing whitespace
helios_auth/views.py Adds oauth_name context variable to login views for custom OAuth provider display; whitespace cleanup
helios_auth/templates/login_box.html Updates login UI to conditionally display custom OAuth provider name instead of generic "oauth" label
helios_auth/media/login-icons/oauth.png Adds OAuth login icon image
helios_auth/auth_systems/oauth.py New OAuth2 authentication module implementing OAuth2 flow with CA cert support
helios_auth/auth_systems/init.py Registers the new OAuth authentication system

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

Comment thread helios_auth/auth_systems/oauth.py Outdated
Comment thread helios_auth/auth_systems/oauth.py
Comment thread helios_auth/auth_systems/oauth.py
Comment thread helios_auth/auth_systems/oauth.py Outdated
Comment thread helios_auth/templates/login_box.html Outdated
Comment thread settings.py Outdated
Comment thread settings.py
Comment thread helios_auth/auth_systems/oauth.py
@dioubernardo dioubernardo reopened this Jan 9, 2026
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