HandyCafe Docs
owner it-admin

การตั้งค่า OAuth

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

สวิตช์หลัก

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

ชื่อร้านคาเฟ่

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

อนุญาตการเข้าสู่ระบบโดยไม่มีเครดิต

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

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

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

HandyCafe รองรับผู้ให้บริการ OAuth 5 ราย กำหนดค่าแยกกัน:

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

สำหรับกระบวนการเข้าสู่ระบบ device-flow ทั้งหมด ดูเอกสารการเข้าสู่ระบบ OAuth