Skip to content

feat: Add Auth0 SSO authentication with account linking#847

Open
o-rayer wants to merge 24 commits intoClub-Alpin-Annecy:masterfrom
o-rayer:feat/setup-sso-auth0
Open

feat: Add Auth0 SSO authentication with account linking#847
o-rayer wants to merge 24 commits intoClub-Alpin-Annecy:masterfrom
o-rayer:feat/setup-sso-auth0

Conversation

@o-rayer
Copy link
Copy Markdown
Contributor

@o-rayer o-rayer commented Nov 13, 2025

Features:

  • Auth0 OAuth integration (login, signup, callback)
  • Account linking for existing users
  • Social authentication support (Google, Microsoft, etc.)
  • Local and extranet modes
  • Admin bypass for emergency access
  • Webhook for user deletion synchronization
  • Rate limiting on sensitive routes
  • Automatic avatar download from social providers

Security:

  • Password verification fixes in admin_login and link_account
  • Session data cleanup
  • Protected instance/config.py with example file
  • CSRF protection on all forms

Documentation:

  • Comprehensive Auth0 setup guide
  • User flow documentation
  • Deployment instructions
  • Troubleshooting FAQ

Tests:

  • Unit tests for Auth0 routes and webhooks
  • Integration tests for complete flows

o-rayer and others added 24 commits November 13, 2025 17:08
Features:
- Auth0 OAuth integration (login, signup, callback)
- Account linking for existing users
- Social authentication support (Google, Microsoft, etc.)
- Local and extranet modes
- Admin bypass for emergency access
- Webhook for user deletion synchronization
- Rate limiting on sensitive routes
- Automatic avatar download from social providers

Security:
- Password verification fixes in admin_login and link_account
- Session data cleanup
- Protected instance/config.py with example file
- CSRF protection on all forms

Documentation:
- Comprehensive Auth0 setup guide
- User flow documentation
- Deployment instructions
- Troubleshooting FAQ

Tests:
- Unit tests for Auth0 routes and webhooks
- Integration tests for complete flows
* WIP per-activity badge names

* WIP custom level form

* Dynamic selects, formatting and caching fixes

* Fix supervision page

* Fix CI

* Fix fixtures

* Fix badge JS with multiple restriction forms
* Fix parsing optional CSV ints

* Fix reading parent_event id
Bumps [pytest](https://github.com/pytest-dev/pytest) from 8.4.2 to 9.0.0.
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@8.4.2...9.0.0)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.0.0
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…lub-Alpin-Annecy#843)

Bumps the minor-updates group with 1 update: [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers).


Updates `phonenumbers` from 9.0.17 to 9.0.18
- [Commits](daviddrysdale/python-phonenumbers@v9.0.17...v9.0.18)

---
updated-dependencies:
- dependency-name: phonenumbers
  dependency-version: 9.0.18
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
…y#845)

* Make pyament token request atomic by locking db row

* Add populate_existing to force instance refresh
…n-Annecy#848)

Bumps the minor-updates group with 1 update: [pytest](https://github.com/pytest-dev/pytest).


Updates `pytest` from 9.0.0 to 9.0.1
- [Release notes](https://github.com/pytest-dev/pytest/releases)
- [Changelog](https://github.com/pytest-dev/pytest/blob/main/CHANGELOG.rst)
- [Commits](pytest-dev/pytest@9.0.0...9.0.1)

---
updated-dependencies:
- dependency-name: pytest
  dependency-version: 9.0.1
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Bumps the minor-updates group with 1 update: [phonenumbers](https://github.com/daviddrysdale/python-phonenumbers).


Updates `phonenumbers` from 9.0.18 to 9.0.19
- [Commits](daviddrysdale/python-phonenumbers@v9.0.18...v9.0.19)

---
updated-dependencies:
- dependency-name: phonenumbers
  dependency-version: 9.0.19
  dependency-type: direct:production
  update-type: version-update:semver-patch
  dependency-group: minor-updates
...

Signed-off-by: dependabot[bot] <support@github.com>
* Add forms to set new competency badges

* Add bulk import tests

* Add missing docstring
…cy#853)

* Reduce verbosity of duplicate badges and fix import with ;

* Switch activity/level order
* Stats: Add number of registrations per activity

* Add template

* Fix test
…Annecy#856)

* Paginated badge and leader lists

* Add server-side pagination for profile events

* Server-side filtering for user events

* Add docstring

* Fix tests
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