Skip to content

認証エンドポイント (/auth/*)

← API 概要


GET /auth/login

Discord OAuth2 認証フローを開始します。Discord の認可ページへリダイレクトします。

権限: 公開
レスポンス: 307 Temporary Redirect


GET /auth/callback

Discord OAuth2 コールバック。トークン交換・セッション発行後にフロントエンドへリダイレクトします。

権限: 公開

クエリパラメータ:

パラメータ必須説明
codeDiscord から受け取った認可コード
stateCSRF 対策のステートトークン
errorエラー時に Discord から付与される
guildログイン後にリダイレクトするギルド ID

レスポンス: 302 Redirect/guilds または /guild/{guild_id}


POST /auth/logout

セッションをクリアしてログアウトします。

権限: 公開
レスポンス:

json
{ "ok": true }

GET /auth/me

ログイン中のユーザー情報を返します。

権限: 要ログイン
レスポンス:

json
{
  "user_id": "123456789",
  "username": "Alice",
  "avatar": "avatar_hash",
  "managed_guilds": ["111111111111111111"],
  "is_bot_admin": false,
  "bot_name": "ideal-bot",
  "bot_avatar": "bot_avatar_hash"
}
フィールド説明
user_idstringDiscord ユーザー ID
usernamestring表示名
avatarstring | nullアバターハッシュ
managed_guildsstring[]管理権限を持つギルド ID のリスト
is_bot_adminbooleanBot 管理者かどうか
bot_namestring | nullBot のユーザー名
bot_avatarstring | nullBot のアバターハッシュ

GET /auth/guilds

ログインユーザーが管理できる、かつ Bot が参加しているギルド一覧を返します。TTL 付きキャッシュを使用します(TTL は discord_cache_ttl 設定値)。

権限: 要ログイン
レスポンス:

json
[
  {
    "id": "111111111111111111",
    "name": "My Server",
    "icon": "icon_hash",
    "has_manage_guild": true
  }
]

GET /auth/bot

Bot のユーザー名とアバターを返します。

権限: 公開
レスポンス:

json
{ "name": "ideal-bot", "avatar": "avatar_hash" }

Released under the MIT License.