Roblox は、ユーザーが Roblox アカウントにログインし、自分のゲーム全体にメッセージをブロードキャストできるように OAuth 2.0 を使用する方法を示す Node.js サンプルアプリを提供しています。このアプリは、PKCE なしの認可コードフローを使用しており、したがって、プライベートサーバーのような機密クライアントにのみ適しています。
.zip ファイルをダウンロードした後、それを専用のフォルダーに解凍してください。
アプリを登録する
アプリをセットアップするための最初のステップは、Roblox ウェブサイトで登録することで、クライアント ID とシークレットを安全な場所にコピーします。その後、以下の設定で標準の登録手順に従ってください。
- 権限の下に、openid、profile、および universe-messaging-service:publish スコープを追加します。
- リダイレクト 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_hereexport ROBLOX_CLIENT_SECRET=your_client_secret_hereexport ROBLOX_PORT=3000 # オプション。デフォルトは 3000 です。
リダイレクト URL でアプリを登録する際に非デフォルトポートを指定した場合は、ROBLOX_PORT 変数を追加してください。
依存関係をインストールする
アプリには package.json に表示されるいくつかの依存関係があります。それらをインストールするには、次のコマンドを実行します。
npm ci
アプリを実行する
アプリを開始するには、次のコマンドを実行します。
npm start
次に、ウェブブラウザで http://localhost:3000 (またはあなたの非デフォルトポート)に移動します。
アプリはすぐに Roblox のログイン画面にリダイレクトされ、ここでログインし、アプリが要求している権限を確認し、確認してアクセスを許可をクリックできます。
その後、Roblox は localhost に戻り、アプリが現在、最小限のユーザー情報、Roblox のプロフィールへのリンク、およびゲーム全体にメッセージをブロードキャストするために使用できるフィールドを表示することを確認できます。
アプリについて
大まかに言えば、index.js は次の操作を実行します。
- express を使用して新しいウェブサーバーを開始します。
- Roblox OpenID Connect (OIDC) 設定を取得し、認可、ユーザー情報などのエンドポイントを含みます。これらのエンドポイントの詳細については、OAuth 2.0 認証を参照してください。
- openid-client と保存した資格情報を使用して新しい Open ID クライアントを作成します。このクライアントは、OAuth 2.0 エンドポイントに適切にHTTPリクエストを形成して送信するプロセスを大幅に簡素化します。
- アプリのルートを定義し、ログインおよびログアウトフローのリダイレクトと OAuth 2.0 コールバックを含みます。
- 一度ログインが成功すると、さまざまなトークンをクッキーとして保存し、getHomeHtml.js の助けを借りてHTMLとして表示する最小限のユーザー情報を保存します。