HandyCafe Docs
owner it-admin

การตั้งค่า OAuth

หมวดการตั้งค่า OAuth ใช้สำหรับกำหนดการยืนยันตัวตนแบบ device-flow ทำให้สมาชิกสามารถล็อกอินเข้าสู่เครื่องลูกข่ายโดยใช้บัญชีโซเชียลที่มีอยู่แล้ว ซึ่งเป็นการใช้ Device Authorization Grant (RFC 8628) ที่ออกแบบมาสำหรับสถานการณ์ที่เป็นคีออสก์หรือสภาพแวดล้อมสาธารณะที่ผู้ใช้ยืนยันตัวตนบนอุปกรณ์อื่น (โทรศัพท์มือถือ) แทนการพิมพ์ข้อมูลบนเครื่อง PC ที่ใช้ร่วมกัน

สวิตช์หลัก

สวิตช์ เปิดใช้งานการล็อกอิน OAuth ควบคุมระบบ OAuth ทั้งหมด เมื่อปิดใช้งาน จะไม่มีตัวเลือกการล็อกอิน OAuth ปรากฏบนหน้าจอล็อกของเครื่องลูกข่าย เมื่อเปิดใช้งาน ผู้ให้บริการที่กำหนดไว้จะพร้อมสำหรับการล็อกอินของสมาชิก

ชื่อร้าน

ชื่อที่แสดงของร้านคุณที่จะแสดงในบริบทการยืนยันตัวตน OAuth ช่วยให้สมาชิกยืนยันว่ากำลังล็อกอินเข้าสู่สถานที่ที่ถูกต้องเมื่อเห็นการแจ้งเตือนการอนุญาตบนโทรศัพท์มือถือ

อนุญาตให้ล็อกอินโดยไม่ต้องมีเครดิต

เมื่อเปิดใช้งาน สมาชิกจะสามารถล็อกอินผ่าน OAuth ได้แม้ยอดเงินในกระเป๋าจะเป็นศูนย์ ซึ่งมีประโยชน์สำหรับร้านที่ต้องการให้บริการท่องเว็บฟรีหรือที่สมาชิกจ่ายเงินที่เคาน์เตอร์แทนการใช้เครดิตล่วงหน้า

เมื่อปิดใช้งาน สมาชิกต้องมียอดเงินในกระเป๋าเป็นบวกเพื่อทำการล็อกอิน OAuth ให้เสร็จสมบูรณ์

การกำหนดค่าผู้ให้บริการ

HandyCafe รองรับผู้ให้บริการ OAuth ห้าราย แต่ละรายสามารถกำหนดค่าได้อย่างอิสระ:

Google

ฟิลด์ คำอธิบาย
สวิตช์เปิดใช้งาน เปิดหรือปิดการล็อกอิน Google
Client ID OAuth 2.0 Client ID จากโครงการ Google Cloud Console ของคุณ
Client Secret Client secret ที่สอดคล้องกัน
การนำเข้า JSON อัปโหลดไฟล์ JSON ที่เป็นรูปแบบของ Google เพื่อเติมฟิลด์ Client ID และ Client Secret อัตโนมัติ

Facebook

ฟิลด์ คำอธิบาย
สวิตช์เปิดใช้งาน เปิดหรือปิดการล็อกอิน Facebook
Client ID App ID จากแอปพลิเคชัน Facebook Developer ของคุณ
Client Secret App Secret จากแอปพลิเคชัน Facebook Developer ของคุณ

Apple

ฟิลด์ คำอธิบาย
สวิตช์เปิดใช้งาน เปิดหรือปิดการล็อกอิน Apple
Client ID Services ID จากบัญชี Apple Developer ของคุณ
Client Secret Client secret ที่สร้างขึ้น (ใช้ JWT)

X (Twitter)

ฟิลด์ คำอธิบาย
สวิตช์เปิดใช้งาน เปิดหรือปิดการล็อกอิน X
Client ID OAuth 2.0 Client ID จาก X Developer Portal
Client Secret Client secret ที่สอดคล้องกัน

Discord

ฟิลด์ คำอธิบาย
สวิตช์เปิดใช้งาน เปิดหรือปิดการล็อกอิน Discord
Client ID Application ID จาก Discord Developer Portal
Client Secret Client secret ที่สอดคล้องกัน

การตั้งค่าผู้ให้บริการ

  1. สร้างแอปพลิเคชันนักพัฒนาบนแพลตฟอร์มของผู้ให้บริการ (ลิงก์ไปยังคอนโซลนักพัฒนาของผู้ให้บริการแต่ละรายมีอยู่ถัดจากฟิลด์การกำหนดค่า)
  2. กำหนดค่าแอปพลิเคชันสำหรับการใช้ Device Authorization Grant flow หากมี
  3. คัดลอก Client ID และ Client Secret ลงในฟิลด์ที่สอดคล้องกันใน HandyCafe
  4. เปิดสวิตช์ผู้ให้บริการ
  5. บันทึกการตั้งค่า

สำหรับ Google โดยเฉพาะ คุณสามารถส่งออกไฟล์ JSON ของข้อมูลรับรองจาก Google Cloud Console และใช้ปุ่ม การนำเข้า JSON เพื่อเติมฟิลด์ทั้งสองอัตโนมัติ

การทดสอบการกำหนดค่า

หลังจากบันทึกการตั้งค่า OAuth ของคุณ:

  1. ไปที่เครื่องลูกข่ายที่เชื่อมต่อกับเซิร์ฟเวอร์
  2. บนหน้าจอล็อกของเครื่องลูกข่าย มองหาตัวเลือกการล็อกอิน OAuth
  3. เลือกผู้ให้บริการที่กำหนดค่าไว้และเริ่มการล็อกอิน
  4. โค้ดอุปกรณ์และ QR code จะปรากฏบนหน้าจอของเครื่องลูกข่าย
  5. สแกน QR code ด้วยโทรศัพท์ของคุณหรือไปที่ URL ที่แสดงและป้อนโค้ด
  6. ทำการยืนยันตัวตนบนโทรศัพท์ของคุณให้เสร็จสมบูรณ์
  7. เซิร์ฟเวอร์จะตรวจสอบโทเค็นและขึ้นอยู่กับการกำหนดค่าของคุณ อาจอนุมัติการล็อกอินอัตโนมัติหรือส่งคำขอไปยังผู้ดูแลระบบเพื่ออนุมัติ
  8. เมื่อได้รับการอนุมัติ บัญชีสมาชิกจะถูกสร้างหรือเชื่อมโยงและเซสชันของเครื่องลูกข่ายจะเริ่มต้น

สำหรับกระบวนการล็อกอินแบบ device-flow ทั้งหมด ดูเอกสารการล็อกอิน OAuth