Files
cclabel-auth-server/README.md
시골약사 06d0098a43 초기 커밋: 인증 서버 분리
0bin-label-app 프로젝트의 auth 폴더에서 별도 리포지토리로 분리.

Flask 기반 로그인 인증 서버:
- POST /api/login: 클라이언트 로그인 API
- GET /api/health: 서버 상태 확인
- /admin: 관리자 웹 페이지
- SQLite 기반 사용자 및 로그인 기록 저장

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-07 08:57:55 +09:00

1.8 KiB

0bin Label App - 인증 서버

Flask 기반 인증 서버 (포트: 8898)

설치

cd auth
pip install -r requirements.txt

실행

python app.py

서버가 http://0.0.0.0:8898에서 시작됩니다.

기능

1. 클라이언트 인증 API

  • 엔드포인트: POST /api/login
  • 요청:
    {
      "username": "test",
      "password": "test"
    }
    
  • 응답 (성공):
    {
      "success": true,
      "message": "로그인 성공",
      "username": "test"
    }
    
  • 응답 (실패):
    {
      "success": false,
      "message": "아이디 또는 비밀번호가 올바르지 않습니다"
    }
    

2. Admin 웹 페이지

  • URL: http://localhost:8898/admin
  • 계정: admin / admin1234
  • 기능:
    • 사용자 목록 조회
    • 로그인 기록 조회 (최근 50개)
    • 통계 확인

기본 계정

클라이언트 계정

  • 아이디: test
  • 비밀번호: test

Admin 계정

  • 아이디: admin
  • 비밀번호: admin1234

리버스 프록시 설정

외부에서 login.0bin.in으로 접근하려면 Nginx 등을 사용하여 리버스 프록시를 설정하세요.

server {
    listen 80;
    server_name login.0bin.in;

    location / {
        proxy_pass http://localhost:8898;
        proxy_set_header Host $host;
        proxy_set_header X-Real-IP $remote_addr;
        proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
    }
}

데이터베이스

  • SQLite (auth_db.sqlite)
  • 자동으로 생성됨
  • 테이블:
    • users: 사용자 정보
    • login_logs: 로그인 기록

보안

주의: 프로덕션 환경에서는 다음을 변경하세요:

  1. app.config['SECRET_KEY'] 변경
  2. Admin 계정 비밀번호 변경
  3. HTTPS 사용
  4. 환경 변수로 민감 정보 관리