Repository navigation
Application
k-kawasaki edited this page Oct 10, 2026
·
3 revisions
「団体に参加者が所属し、団体内で大会を開く」と考えると全体を把握しやすい。 参加者として登録されていても、必ずスコアを持つとは限りません。
| 役割 | 操作できる範囲 | 主な操作 |
|---|---|---|
SaaS管理者 admin
|
テナントを横断 | テナント追加、支払い情報の確認 |
テナント管理者 organizer
|
自分のテナント | 参加者追加・失格、大会開催・終了、スコアCSV入稿、支払い情報の確認 |
参加者 player
|
自分のテナント | スコア・ランキング・大会一覧の閲覧 |
「テナント」は利用団体、「大会」はその団体内で開催する競技です。支払い情報はテナントごとに計算されます。具体的な料金計算やランキングの詳細は、この2本のマニュアルだけでは定義されていません。
flowchart LR
A[大会を作成] --> B[参加者とスコアのCSVを入稿]
B --> C[参加者がスコア・ランキングを見る]
C --> D[大会を終了]
D --> E[以降のCSV入稿は不可]
| 状態の変更 | 守るべき挙動 |
|---|---|
| 大会を終了する | その大会への結果CSV入稿ができなくなる |
| 参加者を失格にする | その参加者からの参加者向けAPIへのアクセスがすべて403になる |
大会終了と参加者失格は別の操作です。失格はテナント内の参加者の状態です。反映までに許される猶予は、ベンチの条件を参照してください。
flowchart LR
U[ブラウザ] --> B[blackauthがJWTを発行]
B --> C[Cookie内のJWTでISUPORTSにアクセス]
T[ベンチマーカー] --> S[自分でJWTを発行]
S --> C
ISUPORTS自身にはJWTの発行機能がありません。ベンチが利用しなくても、ブラウザの動作確認に必要なため blackauthを停止しない ことが当時の条件です。
接続先とログイン用アカウントは Homeの接続URL一覧 を参照してください。
| 役割 | URLの例 | 画面での操作 |
|---|---|---|
| SaaS管理者 | https://admin.t.isucon.dev |
アカウント名を変えず「認証する」 |
| テナント管理者 | https://isucon.t.isucon.dev |
「テナント管理者モードに切り替える」 |
| 参加者 | https://isucon.t.isucon.dev |
アカウントID 0001 で「認証する」 |
初期データのもう1つの例は kayac / 0002。通常のパスワード入力は不要です。これらは原文の初期データに対する例です。
APIからログインするときのエンドポイント
すべて POST。参加者とテナント管理者は所属テナントのホスト名を使います。
| 役割 | URL |
|---|---|
| 参加者 | https://<tenant name>.t.isucon.dev/auth/login/player?id=<player id> |
| テナント管理者 | https://<tenant name>.t.isucon.dev/auth/login/organizer |
| SaaS管理者 | https://admin.t.isucon.dev/auth/login/admin |
出典:アプリケーションマニュアル、予選当日マニュアルの動作確認・認証の説明。