Skip to content

Commit

Permalink
feat: access token 발급
Browse files Browse the repository at this point in the history
  • Loading branch information
mjkweon17 committed Feb 15, 2024
1 parent 39f0446 commit b604ad3
Showing 1 changed file with 22 additions and 0 deletions.
22 changes: 22 additions & 0 deletions src/routers/auth.py
Original file line number Diff line number Diff line change
Expand Up @@ -4,11 +4,26 @@
from database import get_db
import requests
from models import LUsers
from datetime import datetime, timedelta

from jose import jwt
SECRET_KEY = "secretkey"
ALGORITHM = "HS256"
ACCESS_TOKEN_EXPIRE_MINUTES = 30

from pydantic import BaseModel, Field

router = APIRouter()

def create_access_token(data: dict, expires_delta: timedelta = None):
to_encode = data.copy()
if expires_delta:
expire = datetime.utcnow() + expires_delta
else:
expire = datetime.utcnow() + timedelta(minutes=15)
to_encode.update({"exp": expire})
encoded_jwt = jwt.encode(to_encode, SECRET_KEY, algorithm=ALGORITHM)
return encoded_jwt
class TokenData(BaseModel):
id_token: str

Expand All @@ -27,10 +42,17 @@ async def kakao_login(token_data: TokenData, db: Session = Depends(get_db)):
user = db.query(LUsers).filter(LUsers.kakao_id == user_info['id']).first()

# access token 만들기
access_token_expires = timedelta(minutes=ACCESS_TOKEN_EXPIRE_MINUTES)
access_token = create_access_token(
data={"sub": user.kakao_id}, expires_delta=access_token_expires
)

if user is None:
new_user = LUsers(kakao_id=user_info['id'], name=user_info['properties']['nickname'])
db.add(new_user)
db.commit()
new_user.access_token = access_token
return new_user

user.access_token = access_token
return user

0 comments on commit b604ad3

Please sign in to comment.