runlot
リファレンスAPI

Dashboard と CLI のログイン

auth カテゴリの API オペレーションを 5 件カバーしています。

メソッドパス説明
POST/v1/auth/dev/logindev ログイン方式でのサインイン
GET/v1/auth/github/startGitHub OAuth を開始
GET/v1/auth/github/callbackGitHub OAuth コールバック
GET/v1/configこのデプロイの名前
GET/v1/me現在のユーザーとその org

POST /v1/auth/dev/login

これはローカル専用のサインイン方式です。GitHub OAuth と同じ目的を果たしますが、外部の認証往復を必要としません(docs/local-mvp.md §1)。プロダクションでは、このルートは登録されませんRUNLOT_ENABLE_DEV_AUTH が有効なサーバーにのみ存在します。

同じ subject で再度呼び出すと、同じユーザーが返されます — ローカルでトークンを失うたびに新しいアカウントが作成されると使い物にならないためです。

operationId devLogin

リクエストボディ: application/jsonobject

ステータスコード説明レスポンスボディ
200セッショントークンSession
400

GET /v1/auth/github/start

redirect はログイン完了後に戻るクライアントのコールバックで、トークンはフラグメントとして渡されます(https://dash.runlot.io/login/callback)。サーバーの許可リスト(RUNLOT_GITHUB_REDIRECTS、デフォルトは RUNLOT_PUBLIC_URL)内のプレフィックスと一致する必要があります。これは GitHub の認可ページへ 302 を送信します。ブラウザがこのパスをたどるため、クライアントライブラリはこれを呼び出しません — window.location で開いてください。

operationId githubStart

パラメーター場所必須説明
redirectqueryはいstring
ステータスコード説明レスポンスボディ
302GitHub の認可画面へ
400

GET /v1/auth/github/callback

このパスは GitHub アプリの Authorization コールバック URL です。コードをセッションと交換し、redirect へ 302 を発行します — 成功時は #token=…&expiresAt=…&userId=…&subject=…、失敗時は #error=<code>&message=… です。トークンがサーバーログや Referer ヘッダーに記録されないよう、フラグメントを使用します。

operationId githubCallback

パラメーター場所必須説明
codequery不可string
statequeryはいstring
errorquery不可string
ステータスコード説明レスポンスボディ
302クライアントのコールバックへ
400

GET /v1/config

ここはダッシュボードがどのデプロイに接続されているかを知る場所です(docs/environments.md §3.2)。ダッシュボードは単一の静的ビルドなので、デプロイごとに異なる値を知る手段がなく、そのページでは文字列としてハードコードされていました — 環境が 2 つになった時点で、開発用ページが本番のアドレスを指すようになり、その案内はもっともらしく見えるため、どのテストも検知しません。

認証なし:ログインページにもドキュメントへのリンクがあります。ここに表示されるのは、ランディングページにすでに記載されている名前だけです。

機能の有効・無効の状態はここにはありません — billing、storage、email はそれぞれ独自のエンドポイントで自身の状態を報告します。

operationId getSiteConfig

ステータスコード説明レスポンスボディ
200デプロイの名前object

GET /v1/me

現在のユーザーとその org

operationId getMe

ステータスコード説明レスポンスボディ
200ユーザーobject
401

このページの目次