4
20
Fork
You've already forked server
8

Add OIDC support #892

Open
barthalion wants to merge 11 commits from barthalion/liberaforms:develop-oidc into develop
pull from: barthalion/liberaforms:develop-oidc
merge into: LiberaForms:develop
LiberaForms:main
LiberaForms:chore/L10n-formbuilder
LiberaForms:chore/L10n-public-form
LiberaForms:chore/L10n-form-templates
LiberaForms:chore/L10n
LiberaForms:chore/L10n-inline-help
LiberaForms:feat/form-quiz
LiberaForms:develop
LiberaForms:RC
LiberaForms:feature/pyproject
LiberaForms:fix/image-public-urls-json
LiberaForms:fix/email-multipart
LiberaForms:feat/user-honeypots
LiberaForms:feat/auto-expire-purge-forms
LiberaForms:feat/ldap-authentik
LiberaForms:feat/middleware-limiter
LiberaForms:feat/auto-expire
LiberaForms:feat/form-name-in-title-and-opengraph
LiberaForms:tests/fake-email-server
LiberaForms:feat/page-break-form-field
LiberaForms:feat/bulk-file-download
LiberaForms:feat/data-display-media-type
LiberaForms:feat/inline-help
LiberaForms:feat/poetry
LiberaForms:chore/L10n-parsley
LiberaForms:bogus-form-submit
LiberaForms:feat/public-form-i18n
LiberaForms:fix/L10n
LiberaForms:chore/upgrade-py-libraries
LiberaForms:feat/star-rating-form-field
LiberaForms:chore/upgrade-formbuilder-core
LiberaForms:fix_PIL_error_wrong_mimetype_saving
LiberaForms:feat/extended-form-fields
LiberaForms:feat/webhooks
LiberaForms:fix/array-value-bug
LiberaForms:feat/form-themes
LiberaForms:bugfix-plaintext-answer-edit
LiberaForms:feat/moderator-role
LiberaForms:fix/auth-wrapper
LiberaForms:feat/conditional-fields
LiberaForms:feat/data-download
LiberaForms:feat/pdf-media
LiberaForms:chore/tests
LiberaForms:feat/postgres-orm
Contributor
Copy link

This adds OpenID Connect authentication. Users can log in or create accounts through an OIDC provider alongside the existing username/password flow.

The implementation adds an oidc_sub field to the users table to track provider identities, handles user provisioning and account linking on first login, and exposes the OIDC status in the admin user inspection view. OIDC imports are lazy-loaded and the feature is off by default so the dependency is technically optional.

It's currently being used with GNOME's Keycloak instance on forms.gnome.org.

This adds OpenID Connect authentication. Users can log in or create accounts through an OIDC provider alongside the existing username/password flow. The implementation adds an oidc_sub field to the users table to track provider identities, handles user provisioning and account linking on first login, and exposes the OIDC status in the admin user inspection view. OIDC imports are lazy-loaded and the feature is off by default so the dependency is technically optional. It's currently being used with GNOME's Keycloak instance on forms.gnome.org.
Author
Contributor
Copy link

On an unrelated note, I have a bunch of other changes, but I don't want to spam you with too many PRs at once. Should I open an issue to discuss these? I've done them against the main branch so they will likely need porting over to develop if they are not deemed contentious.

On an unrelated note, I have a bunch of other changes, but I don't want to spam you with too many PRs at once. Should I open an issue to discuss these? I've done them against the main branch so they will likely need porting over to `develop` if they are not deemed contentious.
buttle changed title from (削除) Add OIDC support (削除ここまで) to WIP: Add OIDC support 2026年03月16日 15:21:27 +01:00

Hi @barthalion

I'll find time soon in the next few days to go over it and get back to you, but I just want to say thank you first! :)

Hi @barthalion I'll find time soon in the next few days to go over it and get back to you, but I just want to say thank you first! :)

@barthalion wrote in #892 (comment):

On an unrelated note, I have a bunch of other changes, but I don't want to spam you with too many PRs at once. Should I open an issue to discuss these? I've done them against the main branch so they will likely need porting over to develop if they are not deemed contentious.

You can make PRs if you like and we can comment on them there.

Thanks again.

@barthalion wrote in https://codeberg.org/LiberaForms/server/pulls/892#issuecomment-11702001: > On an unrelated note, I have a bunch of other changes, but I don't want to spam you with too many PRs at once. Should I open an issue to discuss these? I've done them against the main branch so they will likely need porting over to `develop` if they are not deemed contentious. You can make PRs if you like and we can comment on them there. Thanks again.
barthalion changed title from (削除) WIP: Add OIDC support (削除ここまで) to Add OIDC support 2026年03月16日 22:14:18 +01:00

Hi @evilham Out of the blue, barthalion has made this PR. I thought you might want to take a look at it.

Thanks.

Hi @evilham Out of the blue, barthalion has made this PR. I thought you might want to take a look at it. Thanks.

Relates to #180.

Relates to https://codeberg.org/LiberaForms/server/issues/180.
This pull request has changes conflicting with the target branch.
  • liberaforms/__init__.py
  • liberaforms/templates/moderator/inspect-user.html
View command line instructions

Manual merge helper

Use this merge commit message when completing the merge manually.

Checkout

From your project repository, check out a new branch and test the changes.
git fetch -u develop-oidc:barthalion-develop-oidc
git switch barthalion-develop-oidc
Sign in to join this conversation.
No reviewers
Milestone
Clear milestone
No items
Projects
Clear projects
No items
No project
Assignees
Clear assignees
No assignees
3 participants
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
LiberaForms/server!892
Reference in a new issue
LiberaForms/server
No description provided.
Delete branch "barthalion/liberaforms:develop-oidc"

Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?