OAuth 2.0 サンプルアプリ

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

Roblox は、ユーザーが Roblox アカウントにログインし、自分のゲーム全体にメッセージをブロードキャストできるように OAuth 2.0 を使用する方法を示す Node.js サンプルアプリを提供しています。このアプリは、PKCE なしの認可コードフローを使用しており、したがって、プライベートサーバーのような機密クライアントにのみ適しています。


.zip ファイルをダウンロードした後、それを専用のフォルダーに解凍してください。

アプリを登録する

アプリをセットアップするための最初のステップは、Roblox ウェブサイトで登録することで、クライアント ID とシークレットを安全な場所にコピーします。その後、以下の設定で標準の登録手順に従ってください。

  1. 権限の下に、openidprofile、および universe-messaging-service:publish スコープを追加します。
  2. リダイレクト URLの下に、http://localhost:3000/oauth/callback リダイレクトを追加します。アプリに非デフォルトポートを使用する場合は、ここで指定してください。

環境変数を設定する

コードに保存する代わりに(推奨されません)、アプリはクライアント ID とシークレットのために環境変数を使用します。環境変数を追加するプロセスは、オペレーティングシステムによって異なります。

Windows では、以下の PowerShell コマンドを実行します。


$env:ROBLOX_CLIENT_ID='your_client_id_here'
$env:ROBLOX_CLIENT_SECRET='your_client_secret_here'
$env:ROBLOX_PORT=3000 # オプション。デフォルトは 3000 です。

Mac およびほとんどの Linux 配布版では、端末でこれらのコマンドを実行します。


export ROBLOX_CLIENT_ID=your_client_id_here
export ROBLOX_CLIENT_SECRET=your_client_secret_here
export ROBLOX_PORT=3000 # オプション。デフォルトは 3000 です。

リダイレクト URL でアプリを登録する際に非デフォルトポートを指定した場合は、ROBLOX_PORT 変数を追加してください。

依存関係をインストールする

アプリには package.json に表示されるいくつかの依存関係があります。それらをインストールするには、次のコマンドを実行します。


npm ci

アプリを実行する

アプリを開始するには、次のコマンドを実行します。


npm start

次に、ウェブブラウザで http://localhost:3000 (またはあなたの非デフォルトポート)に移動します。

アプリはすぐに Roblox のログイン画面にリダイレクトされ、ここでログインし、アプリが要求している権限を確認し、確認してアクセスを許可をクリックできます。

その後、Roblox は localhost に戻り、アプリが現在、最小限のユーザー情報、Roblox のプロフィールへのリンク、およびゲーム全体にメッセージをブロードキャストするために使用できるフィールドを表示することを確認できます。

アプリについて

大まかに言えば、index.js は次の操作を実行します。

  1. express を使用して新しいウェブサーバーを開始します。
  2. Roblox OpenID Connect (OIDC) 設定を取得し、認可、ユーザー情報などのエンドポイントを含みます。これらのエンドポイントの詳細については、OAuth 2.0 認証を参照してください。
  3. openid-client と保存した資格情報を使用して新しい Open ID クライアントを作成します。このクライアントは、OAuth 2.0 エンドポイントに適切にHTTPリクエストを形成して送信するプロセスを大幅に簡素化します。
  4. アプリのルートを定義し、ログインおよびログアウトフローのリダイレクトと OAuth 2.0 コールバックを含みます。
  5. 一度ログインが成功すると、さまざまなトークンをクッキーとして保存し、getHomeHtml.js の助けを借りてHTMLとして表示する最小限のユーザー情報を保存します。
©2026 Roblox Corporation。Roblox(ロブロックス)、RobloxロゴおよびPowering Imaginationは、米国並びにその他の国における登録商標および非登録商標です。