cors added and jwt

This commit is contained in:
Valentin CZERYBA 2023-10-18 23:59:18 +02:00
parent a45d9f0743
commit 878fbbf5df
2 changed files with 23 additions and 3 deletions

View File

@ -1,4 +1,5 @@
from fastapi import FastAPI from fastapi import FastAPI
from fastapi.middleware.cors import CORSMiddleware
from .routers import users, token, mail from .routers import users, token, mail
from .dependencies import user_add from .dependencies import user_add
@ -7,6 +8,19 @@ import os
app = FastAPI() app = FastAPI()
origins = [
"http://localhost:8084",
]
app.add_middleware(
CORSMiddleware,
allow_origins=origins,
allow_credentials=True,
allow_methods=["*"],
allow_headers=["*"],
)
app.include_router(users.router) app.include_router(users.router)
app.include_router(token.router) app.include_router(token.router)
app.include_router(mail.router) app.include_router(mail.router)

View File

@ -4,8 +4,8 @@ from typing import Annotated
from fastapi import Depends, FastAPI, HTTPException, status, APIRouter from fastapi import Depends, FastAPI, HTTPException, status, APIRouter
from fastapi.responses import JSONResponse from fastapi.responses import JSONResponse
from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestForm from fastapi.security import OAuth2PasswordBearer, OAuth2PasswordRequestForm
from ..dependencies import users_token from ..dependencies import users_token, permissions_checker
from ..models import token from ..models import token, users
router = APIRouter() router = APIRouter()
ACCESS_TOKEN_EXPIRE_MINUTES = 30 ACCESS_TOKEN_EXPIRE_MINUTES = 30
@ -28,4 +28,10 @@ async def login_for_access_token(
content = {"message": "Access token generated"} content = {"message": "Access token generated"}
response = JSONResponse(content=content) response = JSONResponse(content=content)
response.set_cookie(key="jwt", value=access_token) response.set_cookie(key="jwt", value=access_token)
return response return response
@router.get("/token",tags=["token"])
async def check_token(current_user: Annotated[users.User, Depends(users_token.get_current_active_user)], authorize: Annotated[bool, Depends(permissions_checker.PermissionChecker(roles=["Admin", "User"]))]):
content = {"message": "Check token"}
response = JSONResponse(content=content)
return response