ปกป้องการเข้าถึง Google API อย่างปลอดภัยด้วยการอนุญาต OAuth และการจัดเก็บโทเค็น
เรียนรู้วิธีสร้างแอปเพิ่มประสิทธิภาพอัจฉริยะ (เช่น AI agent) ที่ผสานรวมกับ Google API โดยใช้ Logto Secret Vault เพื่อเข้าถึง API ได้อย่างปลอดภัยและจัดเก็บรีเฟรชโทเค็น การอนุญาตแบบเพิ่มทีละส่วน และผสานรวมกับ OIDC/OAuth 2.0 อย่างไร้รอยต่อ
ในยุคดิจิทัลที่เชื่อมต่อถึงกันในปัจจุบัน แอปพลิเคชันที่สามารถผสานรวมกับบริการของบุคคลที่สามได้อย่างง่ายดายช่วยสร้างประสบการณ์ที่ยอดเยี่ยมให้กับผู้ใช้ ไม่ว่าคุณจะกำลังสร้างชุดแอปเพิ่มประสิทธิภาพ agent AI หรือแพลตฟอร์มร่วมมือจัดการเอกสาร ความสามารถในการเข้าถึงและใช้ API ของบริการต่าง ๆ เช่น Google, GitHub, Facebook หรือบริการอื่น ๆ ได้อย่างปลอดภัย จะยกระดับแ อปของคุณให้ไปไกลกว่าความธรรมดา
ในวันนี้ เราจะมาเรียนรู้การใช้งานฟีเจอร์ Secret Vault และ Social Connector ของ Logto ในการสร้างแอปเพิ่มประสิทธิภาพอัจฉริยะที่ผสานรวมกับ Google API ได้อย่างปลอดภัย เราจะแสดงวิธีการจัดเก็บโทเค็น การเรียก access token สำหรับ AI, การอนุญาตแบบ incremental และการเชื่อมต่อกับบริการภายนอกแบบไร้รอยต่อ
ความท้าทาย: สร้าง Smart Calendar Assistant
ลองนึกภาพว่าคุณกำลังพัฒนา "Smart Calendar Assistant" หรือผู้ช่วยปฏิทินอัจฉริยะ ที่ช่วยให้ผู้ใช้จัดการตารางชีวิตของตนอย่างชาญฉลาด นี่คือภารกิจของแอปของคุณ:
- การยืนยันตัวตนพื้นฐาน: ให้ผู้ใช้ลงชื่อเข้าใช้ด้วยบัญชี Google เพื่อเข้าใช้งานแอป
- การจัดการโปรไฟล์: แสดงข้อมูลโปรไฟล์ขั้นพื้นฐ านของผู้ใช้
- ผสานรวมปฏิทิน: อ่านกิจกรรมในปฏิทินเพื่อให้ข้อมูลเชิงลึกเกี่ยวกับตารางเวลา
- ฟีเจอร์ขั้นสูง: สร้างกิจกรรมในปฏิทิน ส่งคำเชิญการประชุมผ่าน Gmail และจัดการเอกสาร Google Drive แต่เฉพาะเมื่อผู้ใช้ร้องขอฟีเจอร์พรีเมียมเหล่านี้โดยเจตนา
ความท้าทายคือ ต้องการสิทธิ์เข้าถึง Google API หลายระดับในแต่ละสถานการณ์ และคุณต้องจัดเก็บโทเค็นอย่างปลอดภัยเพื่อติดต่อ API อย่างต่อเนื่องโดยไม่ต้องขอให้ผู้ใช้ตรวจสอบตัวตนใหม่ซ้ำ ๆ
ทางออก: การอนุญาตแบบ incremental ด้วย Logto Secret Vault
แนวทางของ Logto ช่วยแก้ปัญหานี้ได้อย่างลงตัวโดย:
- ขอสิทธิ์ขั้นต่ำในตอนแรก: ขอแค่สิทธิ์จำเป็นเมื่อผู้ใช้ล งชื่อเข้าใช้
- ขอสิทธิ์เพิ่มเติมแบบ incremental: ขอขอบเขตเพิ่มเติมเมื่อผู้ใช้ต้องการฟีเจอร์พรีเมียม
- จัดเก็บโทเค็นอย่างปลอดภัย: เก็บและจัดการ access/refresh token ไว้ใน Secret Vault ที่เข้ารหัส
- รีเฟรชโทเค็นอัตโนมัติ: จัดการหมดอายุของโทเค็นโดยอัตโนมัติ
ลองดูขั้นตอนการติดตั้งแบบทีละขั้น
ขั้นตอนที่ 1: ตั้งค่า Google connector ด้วยขอบเขตพื้นฐาน
ก่อนอื่น สร้างและตั้งค่า Google connector ของคุณผ่าน Logto Console ระหว่างการตั้งค่าเบื้องต้น ให้กำหนดขอบเขตขั้นต่ำสำหรับการยืนยันตัวตนพื้นฐาน:
ดู คลัง Google API และ OAuth 2.0 scopes documentation เพื่อค้นหาขอบเขตที่แอปของคุณต้องใช้
ขั้นตอนสำคัญในการตั้งค่า:
- สร้าง Google OAuth client ใน Google Cloud Console ตรวจสอบขอบเขตทั้งหมดที่จำเป็นสำหรับแอปของคุณ
- ตั้งค่า Logto Google connector ด้วยข้อมูล client ของคุณ เพิ่มขอบเขตขั้นต่ำด้านบนในช่อง
Scopes
- เปิดใช้งาน Store tokens for persistent API access ในหน้าตั้งค่าคอนเนคเตอร์
- ตั้งค่า Prompts ให้มี
consent
และเปิด Offline Access เพื่อรับ refresh token
อ่านรายละเอียดเต็มในเอกสารของ Logto ที่หัวข้อ การตั้งค่า Google connector
การตั้งค่านี้จะอนุญาตให้ผู้ใช้ลงชื่อเข้าใช้และให้สิทธิ์แอปของคุณในการอ่านกิจกรรมปฏิทิน เหมาะสำหรับให้ข้อมูลเชิงลึกเบื้องต้นเกี่ยวกับตารางนัดหมาย
ขั้นตอนที่ 2: สร้างขั้นตอนการลงชื่อเข้าใช้
ไปที่ Logto > ประสบการณ์ลงชื่อเข้าใช้ > ลงทะเบียนและลงชื่อเข้าใช้ แล้วเพิ่ม Google connector ในส่วน Social sign-in เพื่ออนุญาตให้ผู้ใช้ยืนยันตัวตนด้วย Google
เมื่อผู้ใช้ลงชื่อเข้าผ่าน Google, Logto จะ:
- ยืนยันผู้ใช้ตามขอบเขตที่ตั้งไว้
- เก็บ access และ refresh token อย่างปลอดภัยใน Secret Vault
- ส่งข้อมูลโปรไฟล์ผู้ใช้กลับไปยังแอปของคุณ
ขณะนี้โทเค็นทั้งหมดถูกเก็บอย่างปลอดภัยและผูกกับไอดี Google ของผู้ใช้ สามารถใช้กับการเรียก API ได้ทันที
ขั้นตอนที่ 3: เข้าถึง Google API ด้วยโทเค็นที่จัดเก็บไว้
เมื่อต้องการอ่านกิจกรรมในปฏิทินของผู้ใช้ ให้ดึงโทเค็นจาก Secret Vault แล้วเรียก Google Calendar API:
Logto จะรีเฟรช token อัตโนมัติเมื่อ access token หมดอายุหากมี refresh token เหลืออยู่ โดยไม่ให้ผู้ใช้ต้องทำอะไรเพิ่ม
ขั้นตอนที่ 4: การขออนุญาตเพิ่มเติมแบบ incremental สำหรับฟีเจอร์พรีเมียม
เมื่อผู้ใช้ต้องการใช้ฟีเจอร์พรีเมียม (เช่น สร้างกิจกรรม/ส่งอีเมล Gmail) ให้ใช้ Social Verification API ของ Logto เพื่อขอตัว scopes เพิ่มเติม:
หลังจากผู้ใช้อนุญาตสิทธิ์เพิ่มเติม ให้ทำขั้นตอนยืนยันและอัปเดต token ที่จัดเก็บไว้:
ตอนนี้แอปของคุณสามารถสร้างกิจกรรมในปฏิทินหรือส่งอีเมลผ่าน Google API ด้วย token ที่ครอบคลุมขอบเขตเพิ่มเติมได้แล้ว
ขั้นตอนที่ 5: จัดการสถานะโทเค็น
ใน Logto Console คุณสามารถจัดการโทเค็นได้อย่างครบถ้วน ไปที่ User Management > เลือกผู้ใช้ > Social Connections เพื่อดูข้อมูล:
- สถานะโทเค็น: Active, Expired, Inactive หรือ Not Applicable
- ข้อมูลเมทาดาต้าโทเค็น: วันเวลาสร้าง อัปเดต หมดอายุ และ scopes ที่ได้รับอนุญาต
- จัดการการเชื่อมต่อ: ดูข้อมูลโปรไฟล์ที่ซิงค์จาก Google
ความสามารถนี้ช่วยแอดมินมองเห็นสถานะการเชื่อมต่อของผู้ใช้และแก้ไขปัญหาการใช้ token ได้ตรงจุด
ก้าวไปไกลกว่า Google: ผสานรวมกับบริการภายนอกอย่างครอบคลุม
คุณสามารถขยาย Smart Calendar Assistant ไปเชื่อมต่อกับบริการอื่น ๆ ได้อีก เช่น Google สำหรับยืนยันตัวตน ปฏิทิน และ Gmail, GitHub สำหรับรหัสและ issue management, Facebook สำหรับโซเชียลและการตลาด รวมถึงคอนเนคเตอร์อื่น ๆ ที่รองรับการจัดเก็บ token ได้ในอนาคต
หากต้องการผสานรวมแบบกำหนดเอง Logto ก็มีตัวเลือกยืดหยุ่นผ่านมาตรฐาน OIDC หรือ OAuth 2.0 ซึ่งครอบคลุมทุกบริการที่ใช้องค์กรของคุณ
ความปลอดภัยและแนวทางปฏิบัติที่ดี
Secret Vault ของ Logto ใช้มาตรฐานความปลอดภัยระดับองค์กร:
- เข้ารหัสต่อ secret: ชุดโทเค็นแต่ละชุดใช้ Data Encryption Keys (DEK) เฉพาะของตน
- Key wrapping: DEK จะถูกเข้ารหัสซ้ำด้วย Key Encryption Keys (KEK)
- ลดการเปิดเผยขั้นต่ำ: โทเค็นจะถูกรันรหัสเฉพาะเวลาที่ต้องใช้เรียก API เท่านั้น
- ลบอัตโนมัติ: โทเค็นจะถูกลบเมื่อผู้ใช้ยกเลิกบัญชีหรือถอดคอนเนคเตอร์ออก
สรุป
Logto คือแพลตฟอร์มยืนยันตัวตนที่ใช้งานง่ายสำหรับนักพัฒนา ใช้งานปลอดภัย และผ สานบริการบุคคลที่สามได้อย่างครอบคลุม
ด้วยการอนุญาตแบบ incremental และการจัดเก็บโทเค็นอย่างปลอดภัยของ Logto, Smart Calendar Assistant ของคุณจะมอบประสบการณ์ใช้งานที่ราบรื่น สมดุลทั้งด้านฟังก์ชั่นและความปลอดภัย ผู้ใช้สามารถ onboard ได้เร็วผ่าน single sign-on ที่ขออนุญาตขั้นต่ำแค่ฟีเจอร์หลัก และค่อย ๆ ปลดล็อกฟีเจอร์พรีเมียมอย่างเป็นธรรมชาติเมื่อใช้งานต่อเนื่อง
การเข้าถึง API อย่างต่อเนื่องจากโทเค็นที่จัดเก็บไว้อย่างปลอดภัย ลดการขัดจังหวะผู้ใช้งานโดยไม่ต้องตรวจสอบตัวตนซ้ำ สร้างประสบการณ์ระดับมืออาชีพ ระบบนี้ถูกออกแบบด้วยแนวคิด Security by design ด้วยการเข้ารหัสระดับองค์กรเพื่อปกป้องข้อมูลที่สำคัญและคงไว้ซึ่งความไว้วางใจ
พร้อมสร้างอินทิเกรตกับ API บุคคลที่สามไหม? เริ่มง่าย ๆ ดังนี้:
- ติดตั้ง Logto: สร้าง Logto tenant ของคุณและ ตั้งค่าคอนเนคเตอร์ social ตัวแรก
- เปิดการจัดเก็บโทเค็น: เปิด "Store tokens for persistent API access" ใน Settings ของคอนเนคเตอร์
- ใช้ incremental Auth: ใช้ Social Verification API สำหรับขอ scopes เพิ่มเติมแบบ on-demand
- สร้างและขยาย: ขยายไปยังผู้ให้บริการอื่น ๆ ด้วยคอนเนคเตอร์ของ Logto
อนาคตของแอปพลิเคชันคือการผสานบริการอย่างไร้รอยต่อ ด้วย Secret Vault และ Connectors ของ Logto คุณจะมีเครื่องมือสำหรับสร้างแอปที่ไม่เพียงแต่ใช้งานได้ แต่ยังเชื่อมต่อกับบริการที่ผู้ใช้ของคุณเชื่อถือใช้งานในทุกวัน
ต้องการดูตัวอย่างมากขึ้นไหม? เข้าไปดู คู่มือการเชื่อมต่อ แล้วเริ่มสร้างแอปพลิเคชันเชื่อมต่อถัดไปของคุณได้เลย