Anda dapat membuat atau mengotorisasi aplikasi yang menggunakan Open Cloud API untuk mengakses sumber daya Roblox. Open Cloud menyediakan autentikasi untuk aplikasi ini menggunakan OAuth 2.0.
- Sebagai pencipta game atau pemilik grup
Anda dapat dengan aman menggunakan alat yang dibuat oleh orang lain untuk meningkatkan produktivitas kreasi Anda. Lapisan otorisasi OAuth 2.0 memungkinkan Anda memberikan izin kepada aplikasi pihak ketiga untuk mengakses game Anda atau grup Anda tanpa memberikan kredensial dan informasi pribadi Anda. Anda memilih izin akses untuk sumber daya Roblox spesifik Anda, dan Roblox menangani proses otorisasi untuk Anda dengan kerangka OAuth 2.0.
- Sebagai pengembang aplikasi
Anda dapat membuat aplikasi untuk diri Anda sendiri dan orang lain di komunitas Roblox. OAuth 2.0 mendefinisikan peran yang terlibat dalam proses otorisasi, protokol tentang bagaimana peran berinteraksi satu sama lain, dan alur otorisasi yang perlu Anda ikuti untuk mengembangkan aplikasi yang aman dan kompatibel.
Peran
Protokol Open Cloud OAuth 2.0 memiliki peran-peran berikut. Penting untuk memahami peran spesifik sebelum mempelajari bagaimana mereka berinteraksi satu sama lain dalam alur otorisasi.
Pemilik sumber daya: Entitas yang mampu memberikan akses ke sumber daya yang dilindungi. Misalnya, seorang pencipta yang memungkinkan aplikasi pihak ketiga untuk mengakses sumber daya Roblox mereka melalui Open Cloud Web API.
Server sumber daya: Layanan Roblox yang menyimpan sumber daya yang dilindungi dan merespons permintaan dari pemilik sumber daya.
Klien: Aplikasi yang mengakses sumber daya yang dilindungi atas nama pemilik sumber daya (dengan otorisasi pemilik).
Server otorisasi: Server Roblox yang memverifikasi identitas pemilik sumber daya dan mengeluarkan token akses kepada klien.
Tipe grant
Alur otorisasi, atau tipe grant, adalah langkah-langkah tindakan yang dilakukan oleh peran selama proses otorisasi. Roblox mendukung alur kode otorisasi OAuth 2.0 dan ekstensi Proof Key for Code Exchange (PKCE) nya, dengan persyaratan implementasi yang berbeda untuk aplikasi yang mampu atau tidak mampu menyimpan rahasia klien.
Alur kode otorisasi
Melalui alur kode otorisasi, klien menukar kode otorisasi dengan token akses dan token refresh untuk menyelesaikan proses otorisasi dalam langkah-langkah berikut:
Klien mengirimkan permintaan otorisasi ke server otorisasi Roblox.
Server otorisasi memverifikasi identitas pemilik sumber daya.
Server otorisasi menerima izin untuk mengakses sumber daya Roblox tertentu dari pemilik sumber daya.
Server otorisasi mengarahkan pemilik sumber daya kembali ke klien dengan kode otorisasi.
Klien meminta token akses menggunakan kode otorisasi di endpoint token.
Klien menerima respons dari endpoint token yang berisi token akses, token ID, dan token refresh.
Klien mengambil sumber daya yang diizinkan setelah mendapatkan token akses.
Gambar berikut menggambarkan interaksi antara peran dalam alur kode otorisasi yang akan Anda baca di bagian berikutnya:

Alur kode otorisasi dengan PKCE
Ekstensi PKCE dari alur kode otorisasi membantu mengurangi risiko kebocoran kode otorisasi dan mencegah serangan penggelapan permintaan lintas situs (CSRF), sebuah serangan yang menipu pengguna untuk mengirimkan permintaan web yang tidak diinginkan. Alur ini menyelesaikan proses otorisasi dengan langkah-langkah berikut:
Klien menghasilkan kunci unik dan acak secara kriptografis yang disebut code verifier untuk setiap permintaan otorisasi.
Klien menjalankan algoritma hash SHA-256 pada code verifier untuk menghasilkan code challenge.
Jika klien:
Adalah klien publik, alih-alih menggunakan rahasia klien, ia mengirimkan ID klien dan code challenge dalam permintaan otorisasi.
Adalah klien rahasia, ia menambahkan code challenge bersama dengan ID klien dan rahasia dalam permintaan.
Klien mengirimkan permintaan otorisasi ke server otorisasi Roblox.
Server otorisasi memverifikasi identitas pemilik sumber daya.
Server otorisasi menerima izin untuk mengakses sumber daya Roblox tertentu dari pemilik sumber daya.
Server otorisasi mengarahkan pemilik sumber daya kembali ke klien dengan kode otorisasi.
Klien menyertakan kode otorisasi dan code verifier asli dalam permintaan token ke token endpoint.
Server otorisasi memverifikasi kode otorisasi dan code verifier yang terkait.
Klien menerima respons dari endpoint token yang berisi token akses, token ID, dan token refresh.
Klien mengambil sumber daya yang diizinkan setelah mendapatkan token akses.
Dukungan OpenID Connect
Roblox menggunakan OpenID Connect (OIDC) sebagai lapisan identitas di atas protokol OAuth 2.0 untuk autentikasi untuk melindungi informasi akun yang sensitif. OIDC memungkinkan aplikasi untuk memverifikasi identitas pengguna dan memperoleh informasi profil publik dasar mereka, seperti ID pengguna, username, nama tampilan, dan tautan profil.
Pendaftaran dan implementasi
Untuk mengimplementasikan aplikasi web atau mobile yang menggunakan alur kode otorisasi, Anda perlu:
Mendaftar aplikasi Anda dengan Roblox. Ini memungkinkan Anda untuk mendapatkan ID klien dan rahasia untuk mendaftar aplikasi Anda dengan Roblox dan melakukan panggilan ke endpoint Anda.
Mengimplementasikan alur kode otorisasi. Untuk referensi lengkap dari endpoint OAuth 2.0 yang perlu Anda panggil, lihat referensi Autentikasi.
Melalui proses peninjauan untuk mendapatkan kuota pengguna yang lebih banyak.