11# SPDX-FileCopyrightText: 2023-2024 MTS PJSC
22# SPDX-License-Identifier: Apache-2.0
3- from typing import TYPE_CHECKING , Annotated
3+ from typing import Annotated
44
55from fastapi import APIRouter , Depends , HTTPException , Request
66from fastapi .responses import RedirectResponse
77from fastapi .security import OAuth2PasswordRequestForm
88
99from syncmaster .backend .dependencies import Stub
10- from syncmaster .backend .providers .auth import AuthProvider
10+ from syncmaster .backend .providers .auth import (
11+ AuthProvider ,
12+ DummyAuthProvider ,
13+ KeycloakAuthProvider ,
14+ )
1115from syncmaster .backend .utils .state import validate_state
1216from syncmaster .errors .registration import get_error_responses
1317from syncmaster .errors .schemas .invalid_request import InvalidRequestSchema
1418from syncmaster .errors .schemas .not_authorized import NotAuthorizedSchema
1519from syncmaster .schemas .v1 .auth import AuthTokenSchema
1620
17- if TYPE_CHECKING :
18- from syncmaster .backend .providers .auth import (
19- DummyAuthProvider ,
20- KeycloakAuthProvider ,
21- )
22-
2321router = APIRouter (
2422 prefix = "/auth" ,
2523 tags = ["Auth" ],
2927
3028@router .post ("/token" )
3129async def token (
32- auth_provider : Annotated [" DummyAuthProvider" , Depends (Stub (AuthProvider ))],
30+ auth_provider : Annotated [DummyAuthProvider , Depends (Stub (AuthProvider ))],
3331 form_data : OAuth2PasswordRequestForm = Depends (),
3432) -> AuthTokenSchema :
3533 token = await auth_provider .get_token_password_grant (
@@ -48,7 +46,7 @@ async def auth_callback(
4846 request : Request ,
4947 code : str ,
5048 state : str ,
51- auth_provider : Annotated [" KeycloakAuthProvider" , Depends (Stub (AuthProvider ))],
49+ auth_provider : Annotated [KeycloakAuthProvider , Depends (Stub (AuthProvider ))],
5250):
5351 original_redirect_url = validate_state (state )
5452 if not original_redirect_url :
0 commit comments