@@ -28,43 +28,23 @@ async def update_nickname(nickname: Nickname, db: Session = Depends(get_db)):
2828 update_user_nickname (nickname , db )
2929 return nickname
3030
31- # 카카오 로그인 url 반환
32- @router .get ("/auth/kakao/login-url" )
33- def get_kakao_login_url ():
34- return {"login_url" : kakao_api .get_auth_url ()}
35-
36- # 카카오 로그인 후 받은 code를 JSON으로 반환
37- @router .get ("/auth/kakao/callback" )
38- async def kakao_callback (code : str ):
39- return {"code" : code }
40-
4131# 프론트에서 code 보냄
4232@router .patch ("/login" )
4333async def kakao_login (request : KakaoLoginRequest , db : Session = Depends (get_db )):
44-
45- # 카카오 액세스 토큰 요청
46- token_data = await kakao_api .get_access_token (request .code )
47- access_token = token_data .get ("access_token" )
48-
49- if not access_token :
50- raise HTTPException (status_code = 400 , detail = "카카오 액세스 토큰 발급 실패" )
51-
52- # 카카오 유저 정보 요청
53- user_data = await kakao_api .get_user_info (access_token )
54- kakao_id = user_data ["id" ]
55- nickname = user_data ["kakao_account" ]["profile" ].get ("nickname" , f"카카오유저{ random .randint (1000 , 9999 )} " )
56- profile_image = user_data ["kakao_account" ]["profile" ].get ("profile_image_url" , None )
34+ kakao_id = request .kakao_id
35+ nickname = request .nickname
36+ profile_image = request .profile_img
5737
5838 # DB에서 기존 유저 확인
5939 user = get_user_by_kakao_id (db , kakao_id )
6040
6141 if user :
62- # 기존 유저: 로그인 처리
63- update_kakao_login (db , user .user_id , access_token , nickname , profile_image )
42+ # 기존 유저: 로그인 처리
43+ update_kakao_login (db , user .user_id , None , nickname , profile_image )
6444 return {"message" : "카카오 로그인 성공" , "user_id" : user .user_id , "nickname" : nickname }
65-
45+
6646 # 신규 유저: 회원가입 후 로그인 처리
67- new_user = create_user (db , kakao_id , nickname , profile_image , access_token )
47+ new_user = create_user (db , kakao_id , nickname , profile_image , None )
6848
6949 return {"message" : "회원가입 및 로그인 성공" , "user_id" : new_user .user_id , "nickname" : nickname }
7050
0 commit comments