# Slack OAuth 앱 등록 가이드

## 1. Slack API 콘솔 접속

1. https://api.slack.com/apps 접속
2. Slack 워크스페이스 관리자 계정으로 로그인
3. **Create New App** → **From scratch** 선택

## 2. 앱 정보 입력

- **App Name**: 예) "MCP Hub Integration"
- **Pick a workspace**: 앱을 설치할 워크스페이스 선택
- 생성 후 좌측 메뉴에서 'Basic Information' 확인

## 3. Redirect URL 등록

- 좌측 메뉴 → **OAuth & Permissions**
- 'Redirect URLs' 섹션에 `https://mcp-hub.wrks.ai/oauth/callback` 추가 → **Save URLs**

## 4. User Token Scope 추가

같은 화면 하단 'Scopes' → **User Token Scopes** 에 필요한 scope 추가
(Bot Token 이 아니라 User Token — 호출자 개인 권한으로 동작해야 하기 때문):

- `chat:write` — 메시지 발송
- `channels:read` — 공개 채널 목록 · 정보 조회
- `channels:history` — 공개 채널 메시지 조회
- `groups:read` — 프라이빗 채널 조회
- `im:read` — DM 조회
- `users:read` — 사용자 목록 조회
- `users:read.email` — 사용자 이메일 조회
- `files:write` — 파일 업로드
- `search:read` — 메시지 검색
- `reactions:write` — 이모지 리액션

## 5. 자격 정보 발급

- 좌측 메뉴 → **Basic Information** → 'App Credentials'
- **Client ID** · **Client Secret** 확인
- Studio → Toolkits → New → 'Slack' 템플릿 선택 → OAuth 설정 화면에 입력

## 6. 배포 설정 (여러 워크스페이스 지원 시)

- 좌측 메뉴 → **Manage Distribution**
- 'Remove Hard Coded Information' 체크리스트 확인 후 **Activate Public Distribution**
- (단일 워크스페이스 전용이면 이 단계 생략 가능)

## 참고

- Scope 전체 목록: https://api.slack.com/scopes
- 주의: User Token (`xoxp-*`) 은 호출자 개인 권한으로 동작함. 관리자 권한이 없는 사용자가 관리자 scope 를 요청하면 승인 자체는 되지만 실제 API 호출 시 권한 부족 오류 발생.
