OAuth & 권한

AxHub MCP의 OAuth 로그인, 테넌트 경계, 권한 범위

AxHub MCP는 OAuth 2.1 기반이에요. 클라이언트가 표준 흐름으로 알아서 처리하니, 사용자가 직접 설정할 건 거의 없어요.

로그인 흐름

  • 클라이언트가 자동 등록(DCR) 으로 등록되니, client_id/secret을 손으로 만들 필요가 없어요.
  • 인가는 Authorization Code + PKCE(S256) 를 써요.
  • 첫 연결 때 브라우저로 로그인·동의하면 토큰이 발급되고, 이후엔 클라이언트가 갱신을 처리해요.
  • 리다이렉트는 로컬(loopback) 주소만 허용돼요.

테넌트 경계

한 세션은 하나의 테넌트로 묶여요. 테넌트는 로그인한 사용자의 멤버십으로 정해져요.

사용자 상태동작
소속 테넌트 1개자동으로 그 테넌트로 연결
소속 테넌트 여러 개로그인 시 테넌트를 선택
소속 테넌트 없음접근 불가
연결 후 멤버십 해지다음 갱신 때 차단

클라이언트가 보낸 테넌트 값은 신뢰하지 않아요 — 서버가 검증된 토큰 클레임으로 테넌트를 바인딩해요. 또 서버는 클라이언트 토큰을 백엔드로 그대로 전달하지 않고, 그 테넌트로 제한된 위임 토큰으로 교환해 호출해요.

권한 범위

  • 발급 토큰의 scope는 data:read읽기 전용이에요.
  • 쓰기·관리(write/admin) 툴은 없어요.
  • 모든 조회는 로그인한 사용자가 원래 가진 접근 권한 안에서만 이뤄져요.

토큰과 에러

상황응답
토큰 없음·만료·무효401 — 클라이언트가 다시 로그인
data:read scope 부족403 (insufficient_scope)

401·403 응답에는 표준 WWW-Authenticate 헤더와 메타데이터 위치가 담겨, 클라이언트가 재인증을 자동으로 처리해요.