รับรองความถูกต้องของผู้ใช้ในการกระทำของ GPT: สร้างผู้ช่วยตารางเวลาส่วนตัว
สร้างประสบการณ์ส่วนบุคคลสำหรับผู้ใช้ของคุณใน GPT ของคุณ บทแนะนำนี้จะแสดงวิธีใช้ OAuth เพื่อสร้างผู้ช่วยตารางเวลาส่วนตัวใน GPT ของคุณ
สร้างประสบการณ์ส่วนบุคคลสำหรับผู้ใช้ของคุณใน GPT ของคุณ บทแนะนำนี้จะแสดงวิธีใช้ OAuth เพื่อสร้างผู้ช่วยตารางเวลาส่วนตัวใน GPT ของคุณ
GPTs นั้นยอดเยี่ยมในการปรับแต่งประสบการณ์ ChatGPT สำหรับการใช้งานเฉพาะ สิ่งที่ดียิ่งขึ้นคือช่วยให้คุณสามารถโต้ตอบกับบริการของคุณได้โดยตรงโดยใช้ actions
ในบทแนะนำนี้ เราจะแสดงวิธีใช้ OAuth เพื่อรับรองความถูกต้องของผู้ใช้ในการกระทำของ GPT ของคุณ เราจะสร้างผู้ช่วยตารางเวลาส่วนตัวที่ช่วยให้ผู้ใช้สามารถจัดการกิจกรรมของพวกเขาได้ใน GPT
GPT สุดท้ายจะมีลักษณะดังนี้:
ด้านซ้ายคือการโต้ตอบของผู้ใช้กับ GPT; ด้านขวาคือเว็บแอปที่แสดงตารางเวลาของผู้ใช้ มีความเป็นไปได้มากมายด้วยวิธีนี้ เช่น:
ผลลัพธ์และทรัพยากรของบทแนะนำนี้:
คลิกปุ่ม สร้างการกระทำใหม่ ที่ด้านล่าง ในหน้าใหม่ มีสามส่วน:
ในบทแนะนำนี้ เรามีแอปตารางเวลาที่สร้างไว้ล่วงหน้า ใช้ REST APIs เพื่อจัดการตารางเวลาของผู้ใช้ คุณสามารถค้นหาสคีมา OpenAPI ใน GitHub repo.
เมื่อลอกสคีมาลงไปแล้ว GPT จะรับรู้ endpoints ที่คุณใช้และสร้างตารางให้คุณโดยอัตโนมัติ คุณสามารถคลิกปุ่ม ทดสอบ เพื่อลอง endpoints ได้

GPT จะถามหาอนุญาตของคุณในการดำเนินการ API คลิกที่ปุ่ม อนุญาต หรือ อนุญาตเสมอ เพื่อดำเนินการต่อ

หาก endpoint ของคุณต้องการการรับรองความถูกต้อง คุณจะเห็นข้อความผิดพลาดเช่นภาพด้านบน เมื่อเราตรวจสอบบันทึกของเซิร์ฟเวอร์ยืนยัน, เราสามารถเห็น GPT กำลังส่งคำร้องขอโดยไม่มีข้อมูลเกี่ยวกับการรับรองความถูกต้องใดๆ


ChatGPT ต้องการให้ทั้งการดำเนินการและ endpoints การรับรองความถูกต้องอยู่ในโดเมนเดียวกัน root domain. ตัวอย่างเช่น, ถ้า endpoint การดำเนินการของคุณเป็น https://api.example.com/, endpoint การรับรองความถูกต้องต้องเป็นอย่างบางอย่างเช่น https://auth.example.com/.
เพื่อให้เป็นไปตามข้อกำหนดนี้ เราจำเป็นต้องกำหนดค่าโดเมนแบบปรับแต่งใน Logto Cloud หลังจากที่คุณเข้าสู่ระบบใน Logto Cloud แล้ว คลิกที่แท็บ ตั้งค่า ทางด้านซ้าย จากนั้นคลิกที่แท็บ โดเมน ด้านบน
โดยปกติจะใช้เวลาเพียงไม่กี่นาทีในการดำเนินการให้เสร็จสิ้น เมื่อเสร็จแล้ว คุณจะเห็นโดเมนที่ปรับแต่งมาเพื่อใช้เสร็จสิ้น

เพื่อดำเนินการ OAuth ขึ้น, เราจำเป็นต้องสร้างแอปใน Logto Cloud หลังจากที่คุณเข้าสู่ระบบ, คลิกที่แท็บ แอปพลิเคชัน ทางด้านซ้าย จากนั้นคลิกที่ปุ่ม สร้างแอปพลิเคชัน ที่มุมขวาบน
ขั้นตอนใหม่, คลิก "สร้างแอปพลิเคชันโดยไม่ใช้เฟรมเวิร์ก" ที่ด้านล่าง เลือก "เว็บดั้งเดิม" เป็นประเภทแอพพลิเคชันและป้อนชื่อสำหรับแอพของคุณ ตัวอย่างเช่น ผู้ช่วยตารางเวลา GPT จากนั้นคลิก "สร้างแอปพลิเคชัน" ที่ด้านล่าง
หลังจากสร้างแอปเสร็จแล้ว, ไปที่บัตร ENDPOINTS & CREDENTIALS (คุณอาจต้องเลื่อนลงเล็กน้อย) คลิก แสดงรายละเอียด endpoint เพื่อขยายข้อมูล

ตอนนี้, นำทางกลับไปที่หน้าการกระทำ GPT, คลิกที่ส่วน การรับรองความถูกต้อง จากนั้นเลือก OAuth รายการข้อมูลในรูปแบบตรงกับข้อมูลใน Logto Cloud ดังนี้:
สำหรับช่อง ขอบเขต ให้พิมพ์ openid offline_access; สำหรับฟิล์ด "วิธีการแลกเปลี่ยนโทเคน" ให้เก็บค่าตั้งต้นไว้ (ร้องขอ POST)
สุดท้าย, คลิกที่ปุ่ม บันทึก ที่ด้านล่าง
ย้อนกลับไปที่หน้าการกำหนดค่า GPT ขณะนี้คุณจะเห็นฟิลด์ Callback URL ใต้ส่วน การดำเนินการ
คัดลอก URL นั้นแล้วไปยังหน้าของแอป Logto Cloud วาง URL ในส่วน Redirect URIs

ตอนนี้, เลื่อนลงไปที่ด้านล่าง, เปิดใช้งานคุณลักษณะการออกโทเคนรีเฟรช เสมอ เพื่อรองรับการออกโทเคนรีเฟรชสำหรับ GPT เพื่อช่วยให้ผู้ใช้ของคุณคงสถานะล็อกอินให้อยู่ใน GPT ได้นานขึ้น
จากนั้นคลิกที่ปุ่ม บันทึก ที่ด้านล่าง
ตอนนี้เราพร้อมทุกอย่างแล้ว, ทดสอบระบบ OAuth เพื่อให้แน่ใจว่าทุกอย่างทำงานอย่างที่คาดหวัง กลับไปที่หน้าการกำหนดค่า GPT คลิกที่การกระทำที่เราสร้างขึ้น จากนั้นคลิกปุ่ม ทดสอบ สำหรับ endpoint listItems (อันแรก)
ส่วนการแสดงตัวอย่างจะให้คุณลงชื่อเข้าใช้ คลิกปุ่ม ลงชื่อเข้าใช้ด้วย [ชื่อการกระทำของคุณ] จากนั้นทำกระบวนการ OAuth ให้เสร็จสิ้น

คุณสามารถปรับแต่งประสบการณ์ลงชื่อเข้าใช้ เช่น การสร้างแบรนด์และวิธีการลงชื่อเข้าใช้ใน Logto Cloud สำหรับข้อมูลเพิ่มเติม โปรดอ้างอิงที่ 🎨 ปรับแต่งประสบการณ์ลงชื่อเข้าใช้
หากทุกอย่างทำงานอย่างที่คาดหวัง, เซิร์ฟเวอร์แบ็คเอนด์ของคุณควรได้รับการร้องขอพร้อมโทเคนการเข้าถึงในส่วนหัวของ Authorization สำหรับกรณีของเรา เซิร์ฟเวอร์แบ็คเอนด์คือแอปตารางเวลา จะคืนข้อมูลของตารางเวลาของผู้ใช้ในร่างการตอบกลับ:

อย่างน่าทึ่ง, เนื่องจากสคีมา OpenAPI ของเรามีรายละเอียดเพียงพอ GPT สามารถทำการโทร API โดยไม่มีการกำหนดค่าเพิ่มเติมตัวอย่าง, ถ้าคุณคลิกปุ่ม ทดสอบ สำหรับ endpoint createItems, คุณจะเห็นว่า GPT กำลังสร้างร่างคำร้องขอสำหรับคุณ (หรือขอให้คุณระบุข้อมูลที่ขาดหายไป ขึ้นอยู่กับอารมณ์ของมัน).

ด้วยระบบ OAuth ทำงาน, เราสามารถตรวจสอบความถูกต้องของโทเคนการเข้าถึงในบริการแบ็คเอนด์เพื่อให้แน่ใจว่าการร้องขอมาจากผู้ใช้ที่ได้รับการตรวจสอบแล้ว เพราะ Logto เป็นผู้ให้บริการ OIDC, คุณสามารถใช้ Userinfo endpoint เพื่อตรวจสอบโทเคนการเข้าถึงได้. Endpoint นั้นสามารถพบได้ในหน้าของแอป Logto Cloud.
เพียงแค่ส่งคำขอ GET ไปยัง endpoint ด้วยโทเคนการเข้าถึงอยู่ในส่วนหัวของ Authorization. หากโทเคนการเข้าถึงมีความถูกต้อง, endpoint จะคืนข้อมูลของผู้ใช้ในร่างของการตอบกลับ. นี่คือตัวอย่างที่ใช้ Node.js:
คุณสามารถหาของทั้งหมดใน GitHub repo.
คุณอาจมีแอปตารางเวลาของตัวเอง และด้วยการรับรองความถูกต้อง, คุณสามารถซิงค์ตารางเวลาของผู้ใช้ในเวลาเรียลไทม์โดยไม่ต้องออกจากการสนทนา เพื่อดูการซิงค์แบบเรียลไทม์ในการกระทำ, คุณสามารถไปที่ เว็บแอป และเข้าสู่ระบบด้วยบัญชีเดียวกันที่คุณใช้ใน GPT สาธิต.
การดำเนินการของ GPT สามารถเป็นเครื่องมือที่ทรงพลังในการสร้างประสบการณ์ที่ปรับแต่งเป็นพิเศษสำหรับผู้ใช้ของคุณ ถ้าคุณมีข้อสงสัยหรือข้อเสนอแนะใด ๆ โปรดเข้าร่วมการสนทนาใน เซิร์ฟเวอร์ Discord ของเรา