사용 설명서 › Slima MCP › 고급: OAuth 흐름 디버깅하기
고급: OAuth 흐름 디버깅하기
마지막 업데이트 2026년 5월 25일 · 약 5분 소요
Web OAuth 클라이언트가 연결되지 않는데 재인증 프롬프트도 뜨지 않는다 → 어딘가 한 단계가 조용히 실패하고 있을 가능성이 높습니다. 이 문서에서는 어느 단계에서 막혔는지 한 단계씩 추적하는 방법을 안내합니다.

OAuth 9단계 전체 흐름
1. Client → POST /register (DCR — Dynamic Client Registration)
← 200 + client_id
2. Client → GET /.well-known/oauth-authorization-server
← 200 + OAuth metadata
3. Client → opens /authorize?client_id=...&code_challenge=...
← Slima shows sign-in / authorize
4. User → "Authorize"
← Slima redirects to the client's redirect_uri + code=xxx
5. Client → POST /token (with code + code_verifier)
← 200 + access_token + refresh_token
6. Client → GET /mcp (Authorization: Bearer access_token)
← 200 + MCP capabilities
7-9. Subsequent tool calls:
Client → POST /mcp/tools/call (+ Authorization)
← 200 + result
Self-host: wrangler tail
self-host 환경을 운영 중이라면 다음 명령으로 워커 로그를 실시간으로 확인할 수 있습니다.
wrangler tail my-slima-mcp
워커 로그가 실시간으로 흘러가므로 어느 단계에서 실패하는지 바로 눈에 들어옵니다.
공식 서버 사용 중이라면: 문제를 신고하십시오
Slima의 공식 서버를 사용하는데도 연결되지 않는다면 다음 절차로 진행합니다.
- 클라이언트(Claude Desktop / Cursor / ChatGPT)의 로그를 확인해 마지막으로 성공한 단계와 실패한 단계를 파악합니다
- 화면을 캡처한 뒤 버그 신고 또는 고객 지원 문의에서 신고합니다
- 사용 중인 클라이언트, 버전 번호, 마주친 에러 코드를 함께 첨부해 주십시오
curl로 직접 테스트하기
DCR 테스트
curl -X POST https://mcp.slima.ai/register \
-H "Content-Type: application/json" \
-d '{
"client_name": "test",
"redirect_uris": ["http://localhost:8901/callback"]
}'
예상 결과: 200 + { client_id: "...", ... }
well-known 테스트
curl https://mcp.slima.ai/.well-known/oauth-authorization-server
예상 결과: OAuth 메타데이터 JSON
access token으로 /mcp 호출
curl https://mcp.slima.ai/mcp \
-H "Authorization: Bearer your_access_token"
예상 결과: 200 + MCP capabilities
자주 발생하는 실패 지점
| 단계 | 실패 증상 | 해결 방법 |
|---|---|---|
| 1 (DCR) | 400 invalid_redirect_uri | redirect_uri가 https 또는 http://localhost인지 확인합니다 |
| 2 (well-known) | 404 | 서버 URL이 잘못되었습니다 |
| 3 (authorize) | 리다이렉트가 Slima에 닿지 않음 | 네트워크 / DNS / 프록시 문제입니다 |
| 4 (callback) | 「redirect_uri mismatch」 | DCR에 등록한 redirect_uri와 콜백 URI가 일치하지 않습니다 |
| 5 (token exchange) | invalid_grant | code가 만료되었습니다(30초). 처음부터 다시 시작하세요 |
| 6 (mcp) | 401 | Authorization 헤더가 빠졌습니다 |
관련 문서
도움이 되었습니까?