คุณสามารถสร้างหรืออนุญาตแอปพลิเคชันที่ใช้ Open Cloud APIs เพื่อเข้าถึงทรัพยากร Roblox ได้ Open Cloud ให้การรับรองตัวตนสำหรับแอปพลิเคชันเหล่านี้โดยใช้ OAuth 2.0
- ในฐานะผู้สร้างเกมหรือเจ้าของกลุ่ม
คุณสามารถใช้เครื่องมือที่สร้างโดยผู้อื่นเพื่อเพิ่มประสิทธิภาพในการสร้างสรรค์ได้อย่างปลอดภัย ชั้นการอนุญาต OAuth 2.0 ช่วยให้คุณสามารถมอบสิทธิ์ให้กับแอปพลิเคชันของบุคคลที่สามในการเข้าถึงเกมของคุณหรือกลุ่มของคุณโดยไม่ต้องให้ข้อมูลประจำตัวและข้อมูลส่วนตัวของคุณ คุณเลือกสิทธิ์การเข้าถึงทรัพยากร Roblox ของคุณเอง และ Roblox จัดการกระบวนการอนุญาตให้กับคุณโดยใช้กรอบ OAuth 2.0
- ในฐานะนักพัฒนาแอปพลิเคชัน
คุณสามารถสร้างแอปพลิเคชันสำหรับตัวคุณเองและผู้อื่นในชุมชน Roblox OAuth 2.0 กำหนดบทบาทที่เกี่ยวข้องในกระบวนการอนุญาต โปรโตคอลของการโต้ตอบระหว่างบทบาทต่าง ๆ และกระบวนการอนุญาตที่คุณต้องปฏิบัติตามเพื่อพัฒนาแอปพลิเคชันที่ปลอดภัยและเข้ากันได้
บทบาท
โปรโตคอล Open Cloud OAuth 2.0 มีบทบาทดังต่อไปนี้ เป็นประโยชน์ในการเข้าใจบทบาทเฉพาะก่อนที่จะเรียนรู้เกี่ยวกับวิธีที่พวกเขามีปฏิสัมพันธ์กันในกระบวนการอนุญาต
เจ้าของทรัพยากร: เอนทิตีที่สามารถมอบสิทธิ์เข้าถึงทรัพยากรที่ได้รับการป้องกัน ตัวอย่างเช่น ผู้สร้างที่อนุญาตให้แอปพลิเคชันของบุคคลที่เข้าถึงทรัพยากร Roblox ของตนผ่าน Open Cloud Web APIs
เซิร์ฟเวอร์ทรัพยากร: บริการ Roblox ที่โฮสต์ทรัพยากรที่ได้รับการป้องกันและตอบสนองต่อคำขอจากเจ้าของทรัพยากร
คลาวด์: แอปพลิเคชันที่เข้าถึงทรัพยากรที่ได้รับการป้องกันในนามของเจ้าของทรัพยากร (โดยมีการอนุญาตจากเจ้าของ)
เซิร์ฟเวอร์อนุญาต: เซิร์ฟเวอร์ Roblox ที่รับรองตัวตนของเจ้าของทรัพยากรและออกโทเค็นการเข้าถึงให้กับคลาวด์
ประเภทการอนุญาต
กระบวนการอนุญาต หรือประเภทการอนุญาต คือขั้นตอนของการกระทำที่บทบาทต่าง ๆ ดำเนินการในระหว่างกระบวนการอนุญาต Roblox สนับสนุนกระบวนการอนุญาต OAuth 2.0 และส่วนขยาย Proof Key for Code Exchange (PKCE) โดยมีข้อกำหนดในการนำไปใช้ที่แตกต่างกันสำหรับแอปพลิเคชันที่สามารถหรือไม่สามารถจัดเก็บความลับของคลาวด์ได้
กระบวนการอนุญาตด้วยโค้ด
ผ่านกระบวนการอนุญาตด้วยโค้ด คลาวด์จะแลกเปลี่ยนโค้ดอนุญาตสำหรับโทเค็นการเข้าถึงและโทเค็นรีเฟรชเพื่อทำให้กระบวนการอนุญาตเสร็จสมบูรณ์ในขั้นตอนต่อไปนี้:
คลาวด์ส่งคำขออนุญาตไปยังเซิร์ฟเวอร์อนุญาตของ Roblox
เซิร์ฟเวอร์อนุญาตตรวจสอบตัวตนของเจ้าของทรัพยากร
เซิร์ฟเวอร์อนุญาตได้รับสิทธิ์สำหรับการเข้าถึงทรัพยากร Roblox ที่เฉพาะเจาะจงจากเจ้าของทรัพยากร
เซิร์ฟเวอร์อนุญาตเปลี่ยนเส้นทางเจ้าของทรัพยากรกลับไปยังคลาวด์ด้วยโค้ดอนุญาต
คลาวด์ขอโทเค็นการเข้าถึงโดยใช้โค้ดอนุญาตที่ปลายทางโทเค็น
คลาวด์ได้รับการตอบกลับจากปลายทางโทเค็นซึ่งประกอบด้วยโทเค็นการเข้าถึง โทเค็น ID และโทเค็นรีเฟรช
คลาวด์ดึงทรัพยากรที่ได้รับอนุญาตหลังจากได้รับโทเค็นการเข้าถึง
ภาพถัดไปนี้แสดงถึงการมีปฏิสัมพันธ์ระหว่างบทบาทในกระบวนการอนุญาตด้วยโค้ดที่คุณจะได้อ่านในส่วนถัดไป:

กระบวนการอนุญาตด้วยโค้ดและ PKCE
ส่วนขยาย PKCE ของกระบวนการอนุญาตด้วยโค้ดช่วยลดความเสี่ยงในการหลุดรั่วของโค้ดอนุญาตและป้องกันการโจมตีข้ามไซต์ (CSRF) ซึ่งเป็นการโจมตีที่หลอกลวงผู้ใช้ให้ส่งคำขอเว็บที่ไม่ได้ตั้งใจ วิธีการนี้ทำให้กระบวนการอนุญาตเสร็จสมบูรณ์ด้วยขั้นตอนต่อไปนี้:
คลาวด์สร้างกุญแจเฉพาะและสุ่มทางการเข้ารหัสที่เรียกว่า code verifier สำหรับทุกคำขออนุญาต
คลาวด์รันอัลกอริธึมการแฮช SHA-256 บน code verifier เพื่อสร้าง code challenge
ถ้าคลาวด์:
เป็น public client แทนที่จะใช้ความลับของคลาวด์ สามารถส่ง ID ของคลาวด์และ code challenge ในคำขออนุญาต
เป็น confidential client เพิ่ม code challenge พร้อมกับ ID และความลับในคำขอ
คลาวด์ส่งคำขออนุญาตไปยังเซิร์ฟเวอร์อนุญาตของ Roblox
เซิร์ฟเวอร์อนุญาตตรวจสอบตัวตนของเจ้าของทรัพยากร
เซิร์ฟเวอร์อนุญาตได้รับสิทธิ์สำหรับการเข้าถึงทรัพยากร Roblox ที่เฉพาะเจาะจงจากเจ้าของทรัพยากร
เซิร์ฟเวอร์อนุญาตเปลี่ยนเส้นทางเจ้าของทรัพยากรกลับไปยังคลาวด์ด้วยโค้ดอนุญาต
คลาวด์รวมโค้ดอนุญาตและ code verifier เดิมในคำขอโทเค็นไปยัง token endpoint
เซิร์ฟเวอร์อนุญาตตรวจสอบโค้ดอนุญาตและ code verifier ที่เกี่ยวข้อง
คลาวด์ได้รับการตอบกลับจากปลายทางโทเค็นซึ่งประกอบด้วยโทเค็นการเข้าถึง โทเค็น ID และโทเค็นรีเฟรช
คลาวด์ดึงทรัพยากรที่ได้รับอนุญาตหลังจากได้รับโทเค็นการเข้าถึง
การสนับสนุน OpenID Connect
Roblox ใช้ OpenID Connect (OIDC) เป็น เลเยอร์อัตลักษณ์ที่อยู่ด้านบนของโปรโตคอล OAuth 2.0 เพื่อการพิสูจน์ตัวตนเพื่อปกป้องข้อมูลบัญชีที่ละเอียดอ่อน OIDC ช่วยให้แอปพลิเคชันสามารถตรวจสอบตัวตนของผู้ใช้และเข้าถึงข้อมูลโปรไฟล์สาธารณะพื้นฐาน เช่น user ID, ชื่อผู้ใช้ ชื่อที่แสดง และลิงก์โปรไฟล์
การลงทะเบียนและการนำไปใช้
ในการพัฒนาเว็บหรือแอปพลิเคชันมือถือที่ใช้กระบวนการอนุญาตด้วยโค้ด คุณจำเป็นต้อง:
ลงทะเบียน แอปพลิเคชันของคุณกับ Roblox เพื่อให้คุณได้รับ ID และความลับของคลาวด์เพื่อจดทะเบียนแอปพลิเคชันของคุณกับ Roblox และทำการเรียกไปยังปลายทางของคุณ
นำไปใช้ กระบวนการอนุญาตด้วยโค้ด สำหรับการอ้างอิงแบบสมบูรณ์ของ endpoints OAuth 2.0 ที่คุณต้องเรียกดูที่ Authentication อ้างอิง
ผ่าน กระบวนการตรวจสอบ เพื่อขอเพิ่มโควตาผู้ใช้