diff --git a/troubleshooting/250917_네이버웍스_passport_작업.md b/troubleshooting/250917_네이버웍스_passport_작업.md index 05f22ce..7183743 100644 --- a/troubleshooting/250917_네이버웍스_passport_작업.md +++ b/troubleshooting/250917_네이버웍스_passport_작업.md @@ -36,6 +36,39 @@ from app.providers import naverworks_passport app.include_router(naverworks_passport.router, prefix="/auth/naverworks/passport", tags=["NAVER WORKS Passport"]) ``` +### 2-1. 일반 로그인 시 토큰 저장 (✅ 2025-09-18 추가) +**파일**: `/home/admin/auth-server/app/providers/naverworks.py` + +**구현 내용**: +- 일반 OAuth 로그인(`/auth/naverworks/callback`)에서도 토큰 DB 저장 +- access_token, refresh_token, id_token 모두 `naverworks_token` 테이블에 저장 +- 로그인 시 `is_equipped=false`로 설정 (Passport 설치 시 `true`) +- 토큰 저장 실패해도 로그인은 계속 진행 + +**주요 코드** (264-326번 라인): +```python +# 6. NAVER WORKS 토큰 정보를 DB에 저장 +try: + conn = await asyncpg.connect(database_url) + try: + await conn.execute(''' + INSERT INTO naverworks_token ( + user_id, username, domain_id, account_id, token_data, + oauth_config, scopes, metadata, expiry, is_equipped, updated_at + ) VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11) + ON CONFLICT (user_id) DO UPDATE SET + token_data = EXCLUDED.token_data, + metadata = EXCLUDED.metadata, + expiry = EXCLUDED.expiry, + updated_at = EXCLUDED.updated_at + ''', ...) + finally: + await conn.close() +except Exception as e: + logger.error(f"NAVER WORKS 토큰 저장 실패: {e}") + # 토큰 저장 실패해도 로그인은 계속 진행 +``` + ### 3. DB 스키마 **테이블명**: `naverworks_token` @@ -151,10 +184,17 @@ docker logs auth-server --tail 50 | grep naverworks - OAuth 2.0 가이드: https://developers.worksmobile.com/kr/docs/auth - API 레퍼런스: https://developers.worksmobile.com/kr/reference +## 작동 확인 (2025-09-18 00:56) +- **로그인**: ✅ 정상 작동 (302 리다이렉트) +- **패스포트 설치**: ✅ 정상 작동 (307 리다이렉트) +- **토큰 DB 저장**: ✅ 로그인 시 자동 저장 확인 +- **테이블 레코드**: 사용자별 토큰 정상 저장 확인 + ## 작업자 - 작성일: 2025-09-17 - 작성자: Claude (51123 서버 관리자) - 검토 필요: NAVER WORKS Developer Console Redirect URL 확인 ## 수정 이력 -- 2025-09-18: 테이블명 수정 (naverworks_tokens → naverworks_token) \ No newline at end of file +- 2025-09-18: 테이블명 수정 (naverworks_tokens → naverworks_token) +- 2025-09-18: 일반 로그인 시에도 토큰 DB 저장 기능 추가 \ No newline at end of file