FN-ToolsFN-Tools
Skip to Content
OAuth2Discord OAuth2

Discord OAuth2

Discord アカウントを使って FN-Tools にサインインする仕組みです。Web公開・Discord ロール付与など、サインインが必要な機能を使うときに認証を求められます。


サインインの流れ

  1. ヘッダーのサインインボタンをクリックします。
  2. discord.com/oauth2/authorize にリダイレクトされます。
  3. FN-Tools が要求する権限を確認して認証をクリックします。
  4. fn.yuyutti.com に戻り、サインイン完了です。

FN-Tools はパスワードを受け取りません。認証は Discord のサーバー上で完結します。


要求する権限(スコープ)

実装上、Discord OAuth2 では identify guilds guilds.members.read の3つのスコープを要求しています。

スコープ取得できる情報用途
identifyユーザーID・ユーザー名・表示名・アバターアカウントの識別とプロフィール表示に使用
guilds参加中のサーバー一覧ユーザーと FN-Tools BOT の両方が参加しているサーバーだけを画像出力・Discord ロール付与の選択肢表示に使用
guilds.members.read選択したサーバー内の、サインイン中ユーザー自身のメンバー情報・ロール情報画像出力で表示可能なチャンネルの判定、Discord ロール付与でユーザーがロール管理権限を持つかの確認に使用

保存される情報

項目内容
Discord ユーザーIDアカウントの固有 ID(数値)
ユーザー名Discord のユーザー名
表示名Discord の表示名(グローバルネーム)
アバターアバター画像の ID(表示用)
アクセストークンDiscord API の呼び出しに使用(参加サーバーの取得など)
リフレッシュトークンアクセストークンの更新に使用
最終サインイン日時最後にサインインした日時

取得しない情報: メールアドレス・電話番号・パスワード・DM・フレンドリスト・メッセージ履歴・サーバーメッセージ

保存されるアクセストークンは、許可されたスコープの範囲内でユーザー自身の情報を取得するためのものです。アカウントの乗っ取り、パスワードの変更、Discord アカウント設定の変更など、アカウント自体に干渉できる権限はありません。


セッション

サインイン成功後、7日間有効なセッションが発行されます。セッションIDはブラウザの Cookie(HttpOnly / SameSite: Lax)に保存され、JavaScript からは読み取れません。

7日間操作がない場合、またはサインアウトするとセッションは無効になります。

同じアカウントで別の端末・ブラウザからサインインすると、それまでのセッションは無効になります。同じブラウザ内の複数タブは同じセッションを共有します。


アクセスの取り消し

Discord の ユーザー設定 → 連携済みアプリケーション から FN-Tools のアクセスをいつでも取り消せます。

取り消した後も FN-Tools 側にセッションが残っている場合があります。確実にサインアウトするには、FN-Tools ダッシュボードの アカウント からもサインアウトしてください。

サインアウト

サインアウトすると、このブラウザに保存されている FN-Tools のセッションが無効になります。Discord の連携済みアプリケーションから FN-Tools が削除されるわけではありません。

アカウント削除

FN-Tools 側に保存されているユーザー情報を削除するには、FN-Tools ダッシュボードの アカウント からアカウント削除を行ってください。アカウント削除だけでは Discord 側の連携済みアプリケーションから FN-Tools は削除されません。アカウント削除後に、Discord のユーザー設定から FN-Tools のアクセスを取り消して連携を解除してください。

Last updated on