# Microsoft Teams OAuth 앱 등록 가이드

## 1. Azure Portal 접속

1. https://portal.azure.com 접속
2. Microsoft 365 관리자 계정으로 로그인
3. 검색창 → **Azure Active Directory** (또는 Microsoft Entra ID)

## 2. 앱 등록

- 좌측 메뉴 → **App registrations** → **New registration**
- **Name**: 예) "MCP Hub Integration"
- **Supported account types**: 조직 정책에 맞게 선택 (일반적으로 "Accounts in this organizational directory only")

## 3. Redirect URI 등록

- 등록 화면 하단 'Redirect URI' 섹션
- **Platform**: Web
- **URI**: `https://mcp-hub.wrks.ai/oauth/callback`
- 이후 앱 상세 → **Authentication** 에서도 확인 · 추가 가능

## 4. API 권한 추가

- 좌측 메뉴 → **API permissions** → **Add a permission** → **Microsoft Graph** → **Delegated permissions**
  필요한 scope 체크:
- `User.Read` — 로그인 사용자 프로필
- `Team.ReadBasic.All` — 팀 목록
- `Channel.ReadBasic.All` — 채널 목록
- `ChannelMessage.Send` — 채널 메시지 발송
- `Chat.ReadWrite` — 채팅 조회 · 발송
- `Calendars.ReadWrite` — 캘린더 조회 · 이벤트 생성
- `Mail.Send`, `Mail.ReadWrite` — 메일 발송 · 조회
- `OnlineMeetings.ReadWrite` — Teams 회의 생성
- `offline_access` — refresh token 발급 (필수)

## 5. 관리자 동의 (필요 시)

- 'API permissions' 화면 상단 **Grant admin consent for {테넌트명}** 클릭
- 테넌트 정책상 admin consent 가 필수인 scope (`Mail.Send`, `Calendars.ReadWrite` 등) 는 이 단계를 반드시 거쳐야 사용자 로그인 시 동의 화면이 통과됨

## 6. Client Secret 발급

- 좌측 메뉴 → **Certificates & secrets** → **Client secrets** → **New client secret**
- 설명 · 만료 기간 (권장: 6개월 또는 12개월) 입력 → **Add**
- 생성된 **Value** 는 이 화면에서만 확인 가능 — 즉시 복사

## 7. 자격 정보 확인 및 입력

- 좌측 메뉴 → **Overview** → **Application (client) ID** 확인
- Studio → Toolkits → New → 'Microsoft Teams' 템플릿 선택
- Client ID · Client Secret 입력

## 참고

- 권한 레퍼런스: https://learn.microsoft.com/en-us/graph/permissions-reference
- 주의: 테넌트 정책상 특정 scope 는 admin consent 없이는 사용자 개별 동의로 넘어가지 않음. 조직 배포 시 IT 관리자와 사전 협의 필요.
