Skip to content

GitHub OAuth Setup

這份文件說明如何設定 mikan /login 內建的 GitHub OAuth。

到 GitHub:

Settings → Developer settings → OAuth Apps → New OAuth App

填入:

  • Application name:例如 mikan
  • Homepage URL:你的 LINK_URL
  • Authorization callback URL:<LINK_URL>/oauth/callback

範例:

LINK_URL=https://mikan.example.com
Callback URL=https://mikan.example.com/oauth/callback
Terminal window
export LINK_URL="https://mikan.example.com"
export GITHUB_OAUTH_CLIENT_ID="<client-id>"
export GITHUB_OAUTH_CLIENT_SECRET="<client-secret>"

如果沒有設定 LINK_PORT,mikan 會在 LINK_URL 存在時預設監聽 8181

Terminal window
mikan --sandbox=container:mikan-tools /path/to/workspace

或使用 managed per-user container:

Terminal window
mikan --sandbox=image:mikan-sandbox:tools /path/to/workspace

或:

Terminal window
mikan --sandbox=firecracker:192.168.1.100:/path/to/workspace /path/to/workspace

在與 bot 的私訊中輸入:

/login

打開 mikan 回傳的 link,選擇 GitHub OAuth。

成功後,mikan 會把 token 寫入對應 vault 的 env,包含:

GITHUB_OAUTH_ACCESS_TOKEN
GH_TOKEN

container / image / firecracker sandbox 中,後續工具執行會注入這些 env。

預設 GitHub OAuth scopes:

repo read:user user:email read:org gist

可用環境變數覆蓋:

Terminal window
export GITHUB_OAUTH_SCOPES="repo read:user user:email read:org gist workflow"

請只加入你真的需要的 scopes。較高權限 scopes 會增加 credential 外洩時的風險。