* Added a failing test for the multi-oauth-router issue
* Fixed the #823 regression.
Using a regex for the backend name validation instead of an enum.
* Fixed formatting errors
* Moved the `AuthenticationBackendName` enum to `Authenticator`
This prevents an issue with OpenAPI schema generation caused by two
endpoints accepting a parameter with a duplicate name.
* Added OAuth2 authorize route response_model
* Changed OAuth2 "authorize" route backend param type.
On OAuth2 router creation, an enum is created for the `authentication_backend` parameter. This allows us to generate OpenAPI docs correctly.
* Reformatted with "make format"
* Updated OAuth2 authorize url docs
- /authorize now returns 422 instead of 400 for an invalid authentication backend
* Names for urls added
* Tests for Login/Logout Names
* Register Name Test
* tests/test_router_reset.py
* Tests to verify url names in users router
* Test Verify Router Names
* oauth routes updated with prefix
* Test for authorize. Didn't right test for callback as covered under other tests
* Replace unused `for` index with underscore
* Use `items()` to directly unpack dictionary values
* Merge duplicate blocks in conditional
* Use `any()` instead of for loop
* Format __init__.py
* Move users router in sub-module
* Factorize UserRouter into EventHandlersRouter
* Implement OAuth registration/login router
* Apply isort/black
* Remove temporary pytest marker
* Fix httpx-oauth version in lock file
* Ensure ON_AFTER_REGISTER event is triggered on OAuth registration
* Add API on FastAPIUsers to generate an OAuth router
* Improve test coverage of FastAPIUsers
* Small fixes
* Write the OAuth documentation
* Fix SQL unit-tests by avoiding collisions in SQLite db files