runlot
참조API

대시보드·CLI 로그인

auth 묶음의 오퍼레이션 5 개입니다.

메서드경로하는 일
POST/v1/auth/dev/logindev 프로바이더로 로그인
GET/v1/auth/providers켜진 로그인 방식
GET/v1/auth/github/startGitHub OAuth 시작
GET/v1/auth/github/callbackGitHub 이 돌아오는 자리
GET/v1/me현재 사용자와 소속 조직

POST /v1/auth/dev/login

로컬 전용. GitHub OAuth 와 같은 자리를 차지하되 외부 왕복이 없다 (docs/local-mvp.md §1). 프로덕션에서는 이 경로가 등록되지 않는다 — GET /v1/auth/providers 로 무엇이 켜져 있는지 먼저 본다.

같은 subject 로 다시 부르면 같은 사용자를 돌려준다 — 로컬에서 토큰을 잃어버릴 때마다 새 계정이 생기면 쓸 수 없다.

operationId devLogin

본문 application/json · object

응답본문
200세션 토큰Session
400

GET /v1/auth/providers

로그인 화면이 버튼을 그리는 데 쓴다. devRUNLOT_ENABLE_DEV_AUTH, githubRUNLOT_GITHUB_CLIENT_ID 가 있을 때만 실린다.

operationId listAuthProviders

응답본문
200켜진 provider 목록object

GET /v1/auth/github/start

redirect 는 로그인이 끝난 뒤 토큰을 fragment 로 실어 돌아갈 클라이언트 콜백이다 (https://dash.runlot.dev/login/callback). 서버의 허용 목록 (RUNLOT_GITHUB_REDIRECTS, 기본은 RUNLOT_PUBLIC_URL) 접두에 맞아야 한다. 302 로 GitHub authorize 페이지로 보낸다. 브라우저가 따라가는 경로라 클라이언트 라이브러리는 부르지 않는다 — window.location 으로 연다.

operationId githubStart

인자자리필수설명
redirectquerystring
응답본문
302GitHub authorize 로
400

GET /v1/auth/github/callback

GitHub 앱의 Authorization callback URL 이 이 경로다. code 를 세션으로 바꾼 뒤 redirect 로 302 한다 — 성공이면 #token=…&expiresAt=…&userId=…&subject=…, 실패면 #error=<code>&message=…. fragment 인 이유는 토큰이 서버 로그·Referer 에 남지 않게 하려는 것이다.

operationId githubCallback

인자자리필수설명
codequery아니오string
statequerystring
errorquery아니오string
응답본문
302클라이언트 콜백으로
400

GET /v1/me

현재 사용자와 소속 조직

operationId getMe

응답본문
200사용자object
401

이 페이지에서