Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Enhance OIDC authentication flow #1957

Merged
merged 18 commits into from
Oct 4, 2024
Merged

Conversation

sbreker
Copy link
Member

@sbreker sbreker commented Jul 16, 2024

Adds two new enhancements for OIDC authentication flow:

  1. Add a new setting to control whether local AM authentication is
    available when OIDC authentication is in use. If local AM authentication
    is disabled, then users will only be able to authenticate via the OIDC
    provider. If the new setting is not configured, local AM authentication
    is available.

  2. Add ability to define more than one OIDC provider in AM. Specific
    providers can be chosen using HTTP query params passed to the server
    when authenticating.

@sbreker sbreker force-pushed the dev/oidc-enhancements-for-sso branch 12 times, most recently from 3e74220 to e17e6c8 Compare August 6, 2024 23:52
@sbreker sbreker force-pushed the dev/oidc-enhancements-for-sso branch 13 times, most recently from 5aa4918 to 571a66f Compare August 14, 2024 00:19
@sbreker sbreker force-pushed the dev/oidc-enhancements-for-sso branch 5 times, most recently from 121381a to ace6a28 Compare September 13, 2024 21:49
@sbreker sbreker force-pushed the dev/oidc-enhancements-for-sso branch 3 times, most recently from 46a3374 to 79df106 Compare September 26, 2024 00:22
@sbreker sbreker force-pushed the dev/oidc-enhancements-for-sso branch 2 times, most recently from 6b88016 to 960452f Compare October 1, 2024 20:26
sbreker and others added 15 commits October 4, 2024 14:40
Add a new setting to control whether local AM authentication is
available when OIDC authentication is in use. If local AM authentication
is disabled, then users will only be able to authenticate via the OIDC
provider. If the new setting is not configured, local AM authentication
is available.

Add ability to define more than one OIDC provider in AM. Specific
providers can be chosen using HTTP query params passed to the server
when authenticating.
Override the mozilla_django_oidc OIDCLogoutView class to allow
Archivematica to support sending an OIDC logout message to OIDC providers
that support it.
Allow independent configuration of OIDC endpoints for each configured
provider.
Ensure get_settings() is overridden for the mozilla_django_oidc
OIDCAuthenticationCallbackView class.
Fixes issue where the 'providername' session variable is was not deleted
on logout.

Fixes issue where secondary OIDC endpoint logout path was not being used
when a secondary provider was used.
Remove automatic conversion of provider names to uppercase from
get_oidc_secondary_providers().

Update the OIDC middleware to convert the secondary provider name to
uppercase before validation.
Add vars to docker compose file.
Removed custom OIDC login view in favour of updating the LOGIN_URL based
on system configuration.
Change where middleware is added in the list of middleware.
Copy link
Member Author

@sbreker sbreker left a comment

Choose a reason for hiding this comment

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

Looks great @replaceafill! 👍

@replaceafill replaceafill merged commit b3769a7 into qa/1.x Oct 4, 2024
26 checks passed
@replaceafill replaceafill deleted the dev/oidc-enhancements-for-sso branch October 4, 2024 21:39
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.

3 participants