* 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.
This commit is contained in:
Matyáš Richter
2021-12-29 13:25:15 +01:00
committed by GitHub
parent e0ae193848
commit 2e8f1f2eb2
3 changed files with 26 additions and 7 deletions

View File

@ -1,4 +1,3 @@
import enum
from typing import Dict, List
import jwt
@ -44,11 +43,6 @@ def get_oauth_router(
route_name=callback_route_name,
)
AuthenticationBackendName: enum.EnumMeta = enum.Enum(
"AuthenticationBackendName",
{backend.name: backend.name for backend in authenticator.backends},
)
@router.get(
"/authorize",
name="oauth:authorize",
@ -56,7 +50,7 @@ def get_oauth_router(
)
async def authorize(
request: Request,
authentication_backend: AuthenticationBackendName,
authentication_backend: authenticator.backends_enum, # type: ignore
scopes: List[str] = Query(None),
):
if redirect_url is not None: