[Auth] Devise 제거 → 자체 세션 관리 전환 (Coordination)
ID: 4eea7209-e099-42c4-bd69-79f6c850a789
## 목표
Devise gem을 완전히 제거하고 session[:user_id] 기반 자체 인증으로 전환
## 서브 티켓
1. 인증 코어 교체 (critical) - auth-app-dev
2. Devise gem 및 설정 파일 제거 (high) - auth-app-dev
3. DB 마이그레이션 (medium) - auth-app-dev
4. 테스트 수정 (high) - auth-test-dev
## 의존성
- #1 완료 → #2, #4 진행 가능
- #2 완료 → #3 진행 가능
첨부 이미지
이미지 추가 (Ctrl+V로 붙여넣기 또는 클릭)
JPEG, PNG, GIF, WebP / 최대 10MB
활동 로그
-
팀팀리드 팀 작업 완료 - Devise 제거 → 자체 세션 관리 전환
2026년 03월 02일 05:56:42
상세 보기
## 수정된 기능
- **인증 시스템**: Devise gem → session[:user_id] 기반 자체 인증으로 완전 전환
- **컨트롤러**: ApplicationController에 current_user/authenticate_user!/user_signed_in? 직접 구현
- **세션 관리**: SessionsController(로그인/로그아웃) + OmniauthController(Google/Kakao 콜백)
- **라우팅**: devise_for → login/logout/auth 자체 라우트
- **DB 스키마**: encrypted_password, reset_password_token 등 Devise 컬럼 제거
- **스키마 포맷**: schema.rb → structure.sql (schema_format = :sql)
- **테스트**: Devise::Test::IntegrationHelpers → OmniAuth mock 기반 sign_in 헬퍼## 해결된 문제
- **schema.rb 손상**: SQLite + UUID PK에서 schema dumper 실패 → structure.sql 전환으로 해결
- **sqlite3 CLI 부재**: Ruby sqlite3 gem 기반 dump/load 스크립트 생성 (script/dump_structure.rb, lib/tasks/db_structure.rake)## 발견된 패턴/주의사항
- SQLite + UUID PK → schema.rb 사용 불가, structure.sql 필수
- SQLite remove_column 시 테이블 재생성되면서 uuid 타입이 소실될 수 있음
- dev DB도 재빌드 필요할 수 있음 (users 테이블 uuid 타입 누락 가능성)## 변경 파일 목록
### app/ (auth-app-dev)
- 수정: application_controller.rb, user.rb, routes.rb, pages_controller.rb, Gemfile
- 수정 (뷰): profiles/show, shared/_sidebar, pages/home
- 생성: sessions_controller.rb, omniauth_controller.rb, sessions/new.html.erb, omniauth.rb, migration
- 삭제: devise.rb, app/views/devise/, app/controllers/users/, devise.en.yml### config/ (auth-app-dev)
- 수정: application.rb (schema_format = :sql)
- 생성: config/initializers/omniauth.rb, db/structure.sql
- 삭제: config/initializers/devise.rb### test/ (auth-test-dev)
- 수정: test_helper.rb, fixtures/users.yml, 15개 테스트 파일## 테스트 결과
430 runs, 1013 assertions, 0 failures, 0 errors## 남은 이슈
- development.sqlite3 users 테이블 uuid 타입 확인 필요
- 기존 todo 티켓 4개(원본)의 상태 정리 필요 -
팀팀리드 상태 변경: 진행 중 → 완료
2026년 03월 02일 05:56:22
-
팀팀리드 위임: auth-test-dev에게 '[Auth-2] 테스트 수정 - Devise 헬퍼 → 자체 sign_in 헬퍼' 작업 배정
2026년 03월 02일 05:33:11
-
팀팀리드 위임: auth-app-dev에게 '[Auth-1] 인증 코어 교체 + Devise 제거 + DB 마이그레이션' 작업 배정
2026년 03월 02일 05:32:53
-
팀팀리드 작업 시작 - Devise 제거 → 자체 세션 관리 전환
2026년 03월 02일 05:32:19
상세 보기
## 작업 계획
- 목표: Devise gem 완전 제거, session[:user_id] 기반 자체 인증 전환
- 접근 방식: 2명의 에이전트 (auth-app-dev, auth-test-dev) 팀으로 분업## 팀 구성
- **auth-app-dev**: 코어 교체 + gem 제거 + DB 마이그레이션
- **auth-test-dev**: 테스트 헬퍼 교체 + 전체 테스트 수정## 현재 상태
- 보드 현황: backlog 0 / todo 4 / in_progress 1 / review 0 / done 62
- 관련 기존 작업: 기존 Devise+OmniAuth 인증이 정상 동작 중 (430 tests 통과)## 파일 분리
- auth-app-dev: app/, config/, Gemfile, db/
- auth-test-dev: test/ 전용 -
팀팀리드 티켓 클레임 완료
2026년 03월 02일 05:32:10