From 844c7965783238ce55a7bb08b1ef47f367189218 Mon Sep 17 00:00:00 2001 From: king Date: Sun, 24 May 2026 14:18:46 +0900 Subject: [PATCH] =?UTF-8?q?feat(sso):=20user=5Fpicture=EB=A5=BC=20?= =?UTF-8?q?=EC=84=B8=EC=85=98=20top-level=EC=97=90=20=EC=A0=80=EC=9E=A5=20?= =?UTF-8?q?=E2=80=94=20OMS=20=EB=8F=84=20=EC=95=84=EB=B0=94=ED=83=80=20?= =?UTF-8?q?=ED=91=9C=EC=8B=9C=20=EA=B0=80=EB=8A=A5?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 기존엔 'user' dict 안에만 picture 가 저장돼 OMS 가 못 읽었다. 이제 user_email/user_name 처럼 top-level 키로도 저장하여 OMS 가 동일하게 읽는다. get_user() 도 top-level user_picture 를 인정. --- app/main.py | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/app/main.py b/app/main.py index 4535873..28ceed5 100644 --- a/app/main.py +++ b/app/main.py @@ -99,7 +99,7 @@ def get_user(request: Request) -> dict[str, Any] | None: return { "email": str(email), "name": request.session.get("user_name") or str(email), - "picture": "", + "picture": request.session.get("user_picture", "") or "", } return None @@ -225,14 +225,16 @@ async def auth_google(request: Request): email = str(userinfo.get("email", "")).lower().strip() name = userinfo.get("name") or email + picture = userinfo.get("picture", "") or "" # OMS 와 공유하는 top-level 키 (SSO 계약) request.session["user_email"] = email request.session["user_name"] = name + request.session["user_picture"] = picture # 기존 코드/템플릿 호환용 dict request.session["user"] = { "email": email, "name": name, - "picture": userinfo.get("picture", ""), + "picture": picture, } next_url = safe_next(request.session.pop("_post_login_next", "/")) return RedirectResponse(url=next_url, status_code=303)