aplikasicontoh OAuth 2.0

*Konten ini diterjemahkan menggunakan AI (Beta) dan mungkin mengandung kesalahan. Untuk melihat halaman ini dalam bahasa Inggris, klik di sini.

Roblox menyediakan aplikasi contoh Node.js yang menunjukkan cara menggunakan OAuth 2.0 untuk membiarkan pengguna masuk ke akun Roblox mereka dan menyiarkan pesan melintasi pengalaman mereka.Aplikasi ini menggunakan aliran kode otorisasi tanpa PKCE dan karena itu hanya cocok untuk klien rahasia, seperti server pribadi.


Setelah mengunduh file .zip, ekstrak ke folder sendiri.

Daftarkan aplikasi

Langkah pertama untuk mengatur aplikasi adalah untuk mendaftarkannya di situs Roblox dan menyalin ID klien dan rahasia di tempat yang aman.Kemudian ikuti langkah pendaftaran standar dengan pengaturan ini:

  1. Di bawah Izin , tambahkan openid, profile, dan universe-messaging-service:publish scope.
  2. Di bawah URL Alihkan , tambahkan alihkan http://localhost:3000/oauth/callback. Jika Anda ingin menggunakan port non-默认 untuk aplikasi Anda, spesifikasikan di sini.

Tetapkan variabel lingkungan

Daripada menyimpannya dalam kode (tidak direkomendasikan), aplikasi menggunakan variabel lingkungan untuk ID dan rahasia klien Anda.Proses untuk menambahkan variabel lingkungan berbeda tergantung pada sistem operasi.

Di Windows, jalankan perintah PowerShell berikut:


$env:ROBLOX_CLIENT_ID='your_client_id_here'
$env:ROBLOX_CLIENT_SECRET='your_client_secret_here'
$env:ROBLOX_PORT=3000 # Optional. Default is 3000.

Pada Mac dan sebagian besar distribusi Linux, jalankan perintah ini di terminal:


export ROBLOX_CLIENT_ID=your_client_id_here
export ROBLOX_CLIENT_SECRET=your_client_secret_here
export ROBLOX_PORT=3000 # Optional. Default is 3000.

Jika Anda menyediakan port non-默认 di URL redirect saat mendaftarkan aplikasi Anda, pastikan untuk menambahkan variabel ROBLOX_PORT.

Pasang dependensi

Aplikasi memiliki beberapa dependensi, terlihat di package.json . Untuk menginstalnya, jalankan:


npm ci

Jalankan aplikasi

Untuk memulai aplikasi, jalankan:


npm start

Kemudian navigasikan ke http://localhost:3000 (atau port non-默认 Anda) di browser web.

Aplikasi langsung mengarahkan Anda ke layar masuk Roblox, pada titik ini Anda dapat log in, memverifikasi izin yang diminta aplikasi, dan klik Konfirmasi dan Berikan Akses .

Roblox kemudian mengarahkan Anda kembali ke localhost , di mana Anda dapat melihat bahwa aplikasi sekarang menampilkan beberapa informasi pengguna minimal, tautan kembali ke profil Anda di Roblox, dan bidang yang dapat Anda gunakan untuk menyiarkan pesan ke seluruh pengalaman Anda.

Tentang aplikasi

Dengan garis besar, index.js melakukan operasi berikut:

  1. Memulai server web baru menggunakan express .
  2. Mengambil konfigurasi Roblox OpenID Connect (OIDC), yang termasuk akhiran untuk otorisasi, informasi pengguna, dllUntuk informasi lebih lanjut tentang akhir ini, lihat autentikasi OAuth 2.0.
  3. Membuat klien Open ID baru menggunakan openid-client dan kredensial yang disimpan.Klien ini secara dramatis mempercepat proses pembentukan dan pengiriman permintaan HTTP yang benar ke titik akhir OAuth 2.0.
  4. Mendefinisikan rute untuk aplikasi, termasuk redirect untuk aliran login dan keluar dan panggilan OAuth 2.0.
  5. Setelah login berhasil, menyimpan berbagai token sebagai cookie, bersama dengan beberapa informasi pengguna minimal yang ditampilkan sebagai HTML dengan bantuan dari getHomeHtml.js .