Merge pull request 'migrations: закомментил все что связано с раисовской авторизацией при debug=false' (#70) from migrations into test
Reviewed-on: #70 Reviewed-by: Raykov-MS <RaykovMS@avt.rshb.ru>
This commit is contained in:
commit
63ae001a23
@ -6,46 +6,46 @@ from src.db.session import get_db
|
||||
from src.domain.schemas import LoginRequest, RefreshRequest, Token
|
||||
from src.services.auth_service import AuthService
|
||||
|
||||
if not settings.DEBUG:
|
||||
from raisa_fastapi_protected_api import UserInfo, get_user_dependency
|
||||
# if not settings.DEBUG:
|
||||
# from raisa_fastapi_protected_api import UserInfo, get_user_dependency
|
||||
|
||||
router = APIRouter(prefix="/auth", tags=["auth"])
|
||||
|
||||
|
||||
if settings.DEBUG:
|
||||
# if settings.DEBUG:
|
||||
|
||||
@router.post("/login", response_model=Token)
|
||||
async def login(
|
||||
login_data: LoginRequest,
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
auth_service = AuthService(db)
|
||||
token = await auth_service.authenticate_user(login_data.username, login_data.password)
|
||||
if not token:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail="Неверное имя пользователя или пароль",
|
||||
headers={"WWW-Authenticate": "Bearer"},
|
||||
)
|
||||
return token
|
||||
@router.post("/login", response_model=Token)
|
||||
async def login(
|
||||
login_data: LoginRequest,
|
||||
db: AsyncSession = Depends(get_db),
|
||||
):
|
||||
auth_service = AuthService(db)
|
||||
token = await auth_service.authenticate_user(login_data.username, login_data.password)
|
||||
if not token:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail="Неверное имя пользователя или пароль",
|
||||
headers={"WWW-Authenticate": "Bearer"},
|
||||
)
|
||||
return token
|
||||
|
||||
else:
|
||||
# else:
|
||||
|
||||
@router.post("/login", response_model=Token)
|
||||
async def login(
|
||||
login_data: LoginRequest,
|
||||
db: AsyncSession = Depends(get_db),
|
||||
user: UserInfo = Depends(get_user_dependency),
|
||||
):
|
||||
auth_service = AuthService(db)
|
||||
token = await auth_service.authenticate_user_via_email(user.email)
|
||||
if not token:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail="Неверное имя пользователя или пароль",
|
||||
headers={"WWW-Authenticate": "Bearer"},
|
||||
)
|
||||
return token
|
||||
# @router.post("/login", response_model=Token)
|
||||
# async def login(
|
||||
# login_data: LoginRequest,
|
||||
# db: AsyncSession = Depends(get_db),
|
||||
# user: UserInfo = Depends(get_user_dependency),
|
||||
# ):
|
||||
# auth_service = AuthService(db)
|
||||
# token = await auth_service.authenticate_user_via_email(user.email)
|
||||
# if not token:
|
||||
# raise HTTPException(
|
||||
# status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
# detail="Неверное имя пользователя или пароль",
|
||||
# headers={"WWW-Authenticate": "Bearer"},
|
||||
# )
|
||||
# return token
|
||||
|
||||
|
||||
@router.post("/login-form", response_model=Token)
|
||||
|
||||
@ -12,62 +12,62 @@ from src.repository.user_repository import UserRepository
|
||||
security = HTTPBearer()
|
||||
|
||||
|
||||
if settings.DEBUG:
|
||||
# if settings.DEBUG:
|
||||
|
||||
async def get_user_by_token(
|
||||
token: str,
|
||||
db: AsyncSession,
|
||||
) -> AppUser:
|
||||
payload = verify_token(token)
|
||||
if payload is None:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail="Недействительный токен",
|
||||
headers={"WWW-Authenticate": "Bearer"},
|
||||
)
|
||||
async def get_user_by_token(
|
||||
token: str,
|
||||
db: AsyncSession,
|
||||
) -> AppUser:
|
||||
payload = verify_token(token)
|
||||
if payload is None:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail="Недействительный токен",
|
||||
headers={"WWW-Authenticate": "Bearer"},
|
||||
)
|
||||
|
||||
username: str | None = payload.get("sub")
|
||||
if username is None:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail="Недействительный токен",
|
||||
headers={"WWW-Authenticate": "Bearer"},
|
||||
)
|
||||
username: str | None = payload.get("sub")
|
||||
if username is None:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail="Недействительный токен",
|
||||
headers={"WWW-Authenticate": "Bearer"},
|
||||
)
|
||||
|
||||
user_repo = UserRepository(db)
|
||||
user = await user_repo.get_by_username(username)
|
||||
if user is None:
|
||||
user = await user_repo.get_by_email(username)
|
||||
if user is None:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail="Пользователь не найден",
|
||||
headers={"WWW-Authenticate": "Bearer"},
|
||||
)
|
||||
return user
|
||||
user_repo = UserRepository(db)
|
||||
user = await user_repo.get_by_username(username)
|
||||
if user is None:
|
||||
user = await user_repo.get_by_email(username)
|
||||
if user is None:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail="Пользователь не найден",
|
||||
headers={"WWW-Authenticate": "Bearer"},
|
||||
)
|
||||
return user
|
||||
|
||||
async def get_current_user(
|
||||
credentials: HTTPAuthorizationCredentials = Depends(security),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
) -> AppUser:
|
||||
return await get_user_by_token(token=credentials.credentials, db=db)
|
||||
async def get_current_user(
|
||||
credentials: HTTPAuthorizationCredentials = Depends(security),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
) -> AppUser:
|
||||
return await get_user_by_token(token=credentials.credentials, db=db)
|
||||
|
||||
else:
|
||||
from raisa_fastapi_protected_api import UserInfo, get_user_dependency
|
||||
# else:
|
||||
# from raisa_fastapi_protected_api import UserInfo, get_user_dependency
|
||||
|
||||
async def get_current_user(
|
||||
user: UserInfo = Depends(get_user_dependency),
|
||||
db: AsyncSession = Depends(get_db),
|
||||
) -> AppUser:
|
||||
user_repo = UserRepository(db)
|
||||
db_user = await user_repo.get_by_email(user.email)
|
||||
if db_user is None:
|
||||
raise HTTPException(
|
||||
status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
detail="Пользователь не найден",
|
||||
headers={"WWW-Authenticate": "Bearer"},
|
||||
)
|
||||
return db_user
|
||||
# async def get_current_user(
|
||||
# user: UserInfo = Depends(get_user_dependency),
|
||||
# db: AsyncSession = Depends(get_db),
|
||||
# ) -> AppUser:
|
||||
# user_repo = UserRepository(db)
|
||||
# db_user = await user_repo.get_by_email(user.email)
|
||||
# if db_user is None:
|
||||
# raise HTTPException(
|
||||
# status_code=status.HTTP_401_UNAUTHORIZED,
|
||||
# detail="Пользователь не найден",
|
||||
# headers={"WWW-Authenticate": "Bearer"},
|
||||
# )
|
||||
# return db_user
|
||||
|
||||
|
||||
async def get_current_active_user(current_user: AppUser = Depends(get_current_user)) -> AppUser:
|
||||
|
||||
102
api/src/main.py
102
api/src/main.py
@ -20,15 +20,15 @@ from src.core.exception_handlers import register_exception_handlers
|
||||
from src.db.base import engine
|
||||
from src.db.session import create_tables
|
||||
|
||||
if not settings.DEBUG:
|
||||
from raisa_fastapi_protected_api import (
|
||||
AuthorizationMiddleware,
|
||||
OpenEndpoint,
|
||||
ProtectedOAuthSettings,
|
||||
ProtectedRolesSettings,
|
||||
ProtectedSettings,
|
||||
SearchType,
|
||||
)
|
||||
# if not settings.DEBUG:
|
||||
# from raisa_fastapi_protected_api import (
|
||||
# AuthorizationMiddleware,
|
||||
# OpenEndpoint,
|
||||
# ProtectedOAuthSettings,
|
||||
# ProtectedRolesSettings,
|
||||
# ProtectedSettings,
|
||||
# SearchType,
|
||||
# )
|
||||
|
||||
|
||||
_AUDIT_CLEANUP_LOCK_KEY = 21987431
|
||||
@ -99,13 +99,13 @@ async def lifespan(app: FastAPI):
|
||||
cleanup_task: asyncio.Task | None = None
|
||||
if not settings.DEBUG:
|
||||
await create_tables()
|
||||
ProtectedSettings(
|
||||
ProtectedOAuthSettings(JWKS_URI=settings.JWKS_URL),
|
||||
ProtectedRolesSettings(
|
||||
APP_NAMESPACE=settings.APP_NAMESPACE,
|
||||
APP_NAME=settings.APP_NAME,
|
||||
),
|
||||
)
|
||||
# ProtectedSettings(
|
||||
# ProtectedOAuthSettings(JWKS_URI=settings.JWKS_URL),
|
||||
# ProtectedRolesSettings(
|
||||
# APP_NAMESPACE=settings.APP_NAMESPACE,
|
||||
# APP_NAME=settings.APP_NAME,
|
||||
# ),
|
||||
# )
|
||||
cleanup_task = asyncio.create_task(_audit_cleanup_loop())
|
||||
try:
|
||||
yield
|
||||
@ -180,41 +180,41 @@ async def readyz(response: Response):
|
||||
|
||||
|
||||
|
||||
if not settings.DEBUG:
|
||||
app.add_middleware(
|
||||
AuthorizationMiddleware,
|
||||
open_endpoints=[
|
||||
OpenEndpoint(path="", type_search=SearchType.ABSOLUTE),
|
||||
OpenEndpoint(path=settings.ROOT_PATH + "", type_search=SearchType.ABSOLUTE),
|
||||
OpenEndpoint(path="/", type_search=SearchType.ABSOLUTE),
|
||||
OpenEndpoint(path=settings.ROOT_PATH + "/", type_search=SearchType.ABSOLUTE),
|
||||
OpenEndpoint(path="/healthcheck", type_search=SearchType.ABSOLUTE),
|
||||
OpenEndpoint(
|
||||
path=settings.ROOT_PATH + "/healthcheck",
|
||||
type_search=SearchType.ABSOLUTE,
|
||||
),
|
||||
OpenEndpoint(path="/healthz", type_search=SearchType.ABSOLUTE),
|
||||
OpenEndpoint(
|
||||
path=settings.ROOT_PATH + "/healthz",
|
||||
type_search=SearchType.ABSOLUTE,
|
||||
),
|
||||
OpenEndpoint(path="/readyz", type_search=SearchType.ABSOLUTE),
|
||||
OpenEndpoint(
|
||||
path=settings.ROOT_PATH + "/readyz",
|
||||
type_search=SearchType.ABSOLUTE,
|
||||
),
|
||||
OpenEndpoint(path="/openapi.json", type_search=SearchType.START),
|
||||
OpenEndpoint(
|
||||
path=settings.ROOT_PATH + "/openapi.json",
|
||||
type_search=SearchType.START,
|
||||
),
|
||||
OpenEndpoint(path="/docs", type_search=SearchType.START),
|
||||
OpenEndpoint(
|
||||
path=settings.ROOT_PATH + "/docs",
|
||||
type_search=SearchType.START,
|
||||
),
|
||||
],
|
||||
)
|
||||
# if not settings.DEBUG:
|
||||
# app.add_middleware(
|
||||
# AuthorizationMiddleware,
|
||||
# open_endpoints=[
|
||||
# OpenEndpoint(path="", type_search=SearchType.ABSOLUTE),
|
||||
# OpenEndpoint(path=settings.ROOT_PATH + "", type_search=SearchType.ABSOLUTE),
|
||||
# OpenEndpoint(path="/", type_search=SearchType.ABSOLUTE),
|
||||
# OpenEndpoint(path=settings.ROOT_PATH + "/", type_search=SearchType.ABSOLUTE),
|
||||
# OpenEndpoint(path="/healthcheck", type_search=SearchType.ABSOLUTE),
|
||||
# OpenEndpoint(
|
||||
# path=settings.ROOT_PATH + "/healthcheck",
|
||||
# type_search=SearchType.ABSOLUTE,
|
||||
# ),
|
||||
# OpenEndpoint(path="/healthz", type_search=SearchType.ABSOLUTE),
|
||||
# OpenEndpoint(
|
||||
# path=settings.ROOT_PATH + "/healthz",
|
||||
# type_search=SearchType.ABSOLUTE,
|
||||
# ),
|
||||
# OpenEndpoint(path="/readyz", type_search=SearchType.ABSOLUTE),
|
||||
# OpenEndpoint(
|
||||
# path=settings.ROOT_PATH + "/readyz",
|
||||
# type_search=SearchType.ABSOLUTE,
|
||||
# ),
|
||||
# OpenEndpoint(path="/openapi.json", type_search=SearchType.START),
|
||||
# OpenEndpoint(
|
||||
# path=settings.ROOT_PATH + "/openapi.json",
|
||||
# type_search=SearchType.START,
|
||||
# ),
|
||||
# OpenEndpoint(path="/docs", type_search=SearchType.START),
|
||||
# OpenEndpoint(
|
||||
# path=settings.ROOT_PATH + "/docs",
|
||||
# type_search=SearchType.START,
|
||||
# ),
|
||||
# ],
|
||||
# )
|
||||
|
||||
app.add_middleware(
|
||||
CORSMiddleware,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user