การตั้งค่า OAuth
หมวดหมู่การตั้งค่า OAuth กำหนดค่าการยืนยันตัวตนแบบ device-flow ซึ่งอนุญาตให้สมาชิกเข้าสู่ระบบเครื่อง PC ลูกข่ายโดยใช้บัญชีโซเชียลที่มีอยู่ ระบบนี้ใช้ Device Authorization Grant (RFC 8628) ซึ่งออกแบบมาสำหรับสถานการณ์คีออสก์และสภาพแวดล้อมสาธารณะ ที่ผู้ใช้ยืนยันตัวตนบนอุปกรณ์แยก (โทรศัพท์) แทนที่จะพิมพ์ข้อมูลรับรองบน PC ที่ใช้ร่วมกัน
สวิตช์หลัก
สวิตช์ เปิดใช้งานการเข้าสู่ระบบ OAuth ควบคุมระบบ OAuth ทั้งหมด เมื่อปิดใช้งาน จะไม่มีตัวเลือกเข้าสู่ระบบ OAuth ปรากฏบนหน้าจอล็อกไคลเอนต์ เมื่อเปิดใช้งาน ผู้ให้บริการที่กำหนดค่าจะพร้อมใช้สำหรับการเข้าสู่ระบบสมาชิก
ชื่อร้านคาเฟ่
ชื่อที่แสดงสำหรับร้านคาเฟ่ที่แสดงระหว่างบริบทการยืนยันตัวตน OAuth ช่วยให้สมาชิกยืนยันว่ากำลังเข้าสู่ระบบสถานประกอบการที่ถูกต้องเมื่อเห็นข้อความอนุญาตบนโทรศัพท์
อนุญาตการเข้าสู่ระบบโดยไม่มีเครดิต
เมื่อเปิดใช้งาน สมาชิกสามารถเข้าสู่ระบบผ่าน OAuth ได้แม้ว่ายอดเงินในกระเป๋าจะเป็นศูนย์ มีประโยชน์สำหรับร้านคาเฟ่ที่ต้องการอนุญาตให้ท่องเว็บฟรีหรือที่สมาชิกชำระเงินที่เคาน์เตอร์แทนการจ่ายล่วงหน้า
เมื่อปิดใช้งาน สมาชิกต้องมียอดเงินในกระเป๋าเป็นบวกเพื่อเข้าสู่ระบบ OAuth ให้สำเร็จ
การกำหนดค่าผู้ให้บริการ
HandyCafe รองรับผู้ให้บริการ OAuth 5 ราย กำหนดค่าแยกกัน:
| ฟิลด์ | คำอธิบาย |
|---|---|
| สวิตช์เปิดใช้งาน | เปิดหรือปิดการเข้าสู่ระบบ Google |
| Client ID | OAuth 2.0 Client ID จากโปรเจกต์ Google Cloud Console ของคุณ |
| Client Secret | Client Secret ที่สอดคล้อง |
| นำเข้า JSON | อัปโหลดไฟล์ JSON ข้อมูลรับรองรูปแบบ Google เพื่อกรอก Client ID และ Client Secret โดยอัตโนมัติ |
| ฟิลด์ | คำอธิบาย |
|---|---|
| สวิตช์เปิดใช้งาน | เปิดหรือปิดการเข้าสู่ระบบ 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 ที่สอดคล้อง |
การตั้งค่าผู้ให้บริการ
- สร้างแอปพลิเคชันนักพัฒนาบนแพลตฟอร์มของผู้ให้บริการ (ลิงก์ไปยังคอนโซลนักพัฒนาของแต่ละผู้ให้บริการมีให้ข้างฟิลด์การกำหนดค่า)
- กำหนดค่าแอปพลิเคชันสำหรับ Device Authorization Grant flow ตามที่เหมาะสม
- คัดลอก Client ID และ Client Secret ลงในฟิลด์ที่สอดคล้องใน HandyCafe
- เปิดสวิตช์ผู้ให้บริการ
- บันทึกการตั้งค่า
สำหรับ Google โดยเฉพาะ คุณสามารถส่งออกไฟล์ JSON ข้อมูลรับรองจาก Google Cloud Console และใช้ปุ่ม นำเข้า JSON เพื่อกรอกทั้งสองฟิลด์โดยอัตโนมัติ
การทดสอบการกำหนดค่า
หลังจากบันทึกการตั้งค่า OAuth:
- ไปที่เครื่อง PC ลูกข่ายที่เชื่อมต่อกับเซิร์ฟเวอร์
- บนหน้าจอล็อกไคลเอนต์ มองหาตัวเลือกเข้าสู่ระบบ OAuth
- เลือกผู้ให้บริการที่กำหนดค่าแล้วเริ่มเข้าสู่ระบบ
- รหัสอุปกรณ์และ QR code จะปรากฏบนหน้าจอไคลเอนต์
- สแกน QR code ด้วยโทรศัพท์หรือเข้าชม URL ที่แสดงแล้วป้อนรหัส
- ทำการยืนยันตัวตนให้เสร็จบนโทรศัพท์
- เซิร์ฟเวอร์จะสำรวจ token และขึ้นอยู่กับการกำหนดค่า จะอนุมัติการเข้าสู่ระบบอัตโนมัติหรือส่งคำขอไปยังแอดมินเพื่อขออนุมัติ
- เมื่ออนุมัติแล้ว บัญชีสมาชิกจะถูกสร้างหรือเชื่อมโยงและเซสชันไคลเอนต์จะเริ่ม
สำหรับกระบวนการเข้าสู่ระบบ device-flow ทั้งหมด ดูเอกสารการเข้าสู่ระบบ OAuth