ภาพรวม

เลือกเส้นทางการผสานรวม

เลือกเส้นทางที่เหมาะกับความต้องการของคุณมากที่สุด

เส้นทาง เหมาะสำหรับ ดูข้อมูลเพิ่มเติม
Universal Commerce Protocol (UCP) ผู้ขายและผู้ค้าปลีก เอกสาร UCP
การลิงก์บัญชีมาตรฐาน บ้านอัจฉริยะ ทีวี และ YouTube เอกสาร

การลิงก์บัญชีช่วยให้ผู้ถือบัญชี Google เชื่อมต่อกับบริการของคุณได้อย่างรวดเร็ว ราบรื่น และปลอดภัย คุณอาจเลือกใช้การลิงก์บัญชี Google เพื่อ แชร์ข้อมูลของผู้ใช้จากแพลตฟอร์มของคุณกับแอปและบริการของ Google

โปรโตคอล OAuth 2.0 ที่ปลอดภัยช่วยให้คุณลิงก์บัญชี Google ของผู้ใช้กับ บัญชีในแพลตฟอร์มของคุณได้อย่างปลอดภัย ซึ่งจะทำให้แอปพลิเคชันและอุปกรณ์ของ Google มีสิทธิ์เข้าถึงบริการของคุณ

ผู้ใช้สามารถลิงก์หรือยกเลิกการลิงก์บัญชี และสร้างบัญชีใหม่ในแพลตฟอร์มของคุณได้ด้วยการลิงก์บัญชี Google

กรณีการใช้งาน

เหตุผลบางประการที่ควรใช้การลิงก์บัญชี Google มีดังนี้

  • แชร์ข้อมูลของผู้ใช้จากแพลตฟอร์มของคุณกับแอปและบริการของ Google

  • ผสานรวมกับ Google Shopping และแพลตฟอร์ม AI (Search, Gemini) โดยใช้ Universal Commerce Protocol (UCP)

  • เล่นเนื้อหาวิดีโอและภาพยนตร์โดยใช้ Google TV

  • จัดการและควบคุมอุปกรณ์ที่เชื่อมต่อกับ Google สมาร์ทโฮม โดยใช้แอป Google Home และ Google Assistant "Ok Google เปิดไฟ"

  • สร้างประสบการณ์การใช้งานและฟังก์ชันการทำงานของ Google Assistant ที่ผู้ใช้ปรับแต่งได้ด้วย การสนทนา "Ok Google สั่งกาแฟแก้วเดิมจาก Starbucks"

  • เปิดให้ผู้ใช้รับรางวัลได้โดยการดูสตรีมแบบสดที่มีสิทธิ์บน YouTube หลังจากลิงก์บัญชี Google กับบัญชีพาร์ทเนอร์ด้านรางวัล

  • ป้อนข้อมูลล่วงหน้าในบัญชีใหม่ระหว่างการลงชื่อสมัครใช้ด้วยข้อมูลที่แชร์โดยความยินยอมจาก โปรไฟล์บัญชี Google

ความสามารถและข้อกำหนด

เมทริกซ์ต่อไปนี้กำหนดการสนับสนุนและคำแนะนำสำหรับการเชื่อมโยงแต่ละโฟลว์

การลิงก์ Flow ฟีเจอร์มาตรฐาน ฟีเจอร์ UCP
App Flip แนะนำ แนะนำ
การลิงก์ที่มีประสิทธิภาพ แนะนำ แนะนำ
การลิงก์ OAuth ต้องระบุ (สำรอง) ต้องระบุ (สำรอง)
OAuth 2.1 แนะนำ แนะนำ
  • ปรับปรุงความเป็นส่วนตัวของผู้ใช้โดยกำหนดขอบเขตที่กำหนดเองเพื่อแชร์เฉพาะข้อมูลที่จำเป็น เพิ่มความไว้วางใจจากผู้ใช้โดยกำหนดวิธีใช้ข้อมูลของผู้ใช้อย่างชัดเจน

  • คุณเพิกถอนสิทธิ์เข้าถึงข้อมูลและบริการที่โฮสต์ในแพลตฟอร์มได้โดยยกเลิกการลิงก์บัญชี การติดตั้งใช้งานปลายทางการเพิกถอนโทเค็นที่ไม่บังคับช่วยให้คุณซิงค์กับเหตุการณ์ที่ Google เริ่มต้นได้ ขณะที่การป้องกันแบบครอบคลุมหลายบริการ(RISC)ช่วยให้คุณแจ้งให้ Google ทราบถึงเหตุการณ์การยกเลิกการลิงก์ที่เกิดขึ้นบนแพลตฟอร์มของคุณได้

ขั้นตอนการลิงก์บัญชี

ขั้นตอนการลิงก์บัญชี Google มี 3 ขั้นตอน ซึ่งทั้งหมดใช้ OAuth และกำหนดให้คุณต้องจัดการหรือควบคุมการให้สิทธิ์และปลายทางการแลกเปลี่ยนโทเค็นที่สอดคล้องกับ OAuth 2.0

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

การลิงก์ OAuth

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

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

รูปที่ 1 การลิงก์บัญชีในโทรศัพท์ของผู้ใช้ด้วยการลิงก์ OAuth

การลิงก์ App Flip ที่ใช้ OAuth ("App Flip")

ขั้นตอน OAuth ที่ส่งผู้ใช้ไปยังแอปเพื่อลิงก์

การลิงก์ App Flip ที่ใช้ OAuth จะแนะนําผู้ใช้ขณะที่สลับไปมาระหว่างแอปบนอุปกรณ์เคลื่อนที่ Android หรือ iOS ที่ยืนยันแล้วกับแพลตฟอร์มของ Google เพื่อตรวจสอบการเปลี่ยนแปลงการเข้าถึงข้อมูลที่เสนอและให้ความยินยอมในการลิงก์บัญชีบนแพลตฟอร์มของคุณกับบัญชี Google หากต้องการเปิดใช้ App Flip บริการของคุณต้อง รองรับการลิงก์ OAuth หรือ การลิงก์การลงชื่อเข้าใช้ด้วย Google ที่อิงตาม OAuth โดยใช้ขั้นตอนรหัสการให้สิทธิ์

App Flip รองรับทั้ง Android และ iOS

วิธีการทำงาน

แอป Google จะตรวจสอบว่าแอปของคุณติดตั้งอยู่ในอุปกรณ์ของผู้ใช้หรือไม่ โดยทำดังนี้

  • หากพบแอป ระบบจะ "เปลี่ยน" ผู้ใช้ไปยังแอปของคุณ แอปจะรวบรวม ความยินยอมจากผู้ใช้เพื่อลิงก์บัญชีกับ Google แล้ว "เปลี่ยนกลับ" ไปยังแพลตฟอร์มของ Google
  • หากไม่พบแอปหรือเกิดข้อผิดพลาดระหว่างกระบวนการเชื่อมต่อ App Flip ระบบจะเปลี่ยนเส้นทางผู้ใช้ไปยังโฟลว์การลิงก์ที่ปรับปรุงแล้วหรือ OAuth

รูปที่ 2 การลิงก์บัญชีในโทรศัพท์ของผู้ใช้ด้วย App Flip

การลิงก์ที่ปรับปรุงแล้วที่ใช้ OAuth ("ปรับปรุงแล้ว")

การลงชื่อเข้าใช้ด้วย Google ที่ใช้ OAuth และการเชื่อมต่อที่ปรับปรุงแล้วจะเพิ่มการลงชื่อเข้าใช้ด้วย Google นอกเหนือจากการลิงก์ OAuth ซึ่งช่วยให้ผู้ใช้ทำกระบวนการเชื่อมต่อให้เสร็จสมบูรณ์ได้โดยไม่ต้องออกจากแพลตฟอร์มของ Google จึงช่วยลดอุปสรรคและอัตราการเลิกใช้งาน การลิงก์ที่มีประสิทธิภาพซึ่งใช้ OAuth มอบประสบการณ์การใช้งานที่ดีที่สุด ด้วยการลงชื่อเข้าใช้ การสร้างบัญชี และการลิงก์บัญชีที่ราบรื่น โดยการรวมการลงชื่อเข้าใช้ด้วย Google กับการลิงก์ OAuth บริการของคุณต้อง รองรับปลายทางการให้สิทธิ์และการแลกเปลี่ยนโทเค็นที่สอดคล้องกับ OAuth 2.0 นอกจากนี้ ปลายทางการแลกเปลี่ยนโทเค็นต้องรองรับการยืนยัน JSON Web Token (JWT) และใช้ check, create และ get Intent

วิธีการทำงาน

Google ยืนยันบัญชีผู้ใช้และส่งข้อมูลนี้ให้คุณ

  • หากมีบัญชีสำหรับผู้ใช้ในฐานข้อมูล ผู้ใช้จะลิงก์บัญชี Google กับบัญชีในบริการของคุณได้สำเร็จ
  • หากไม่มีบัญชีของผู้ใช้ในฐานข้อมูล ผู้ใช้จะเลือก สร้างบัญชีบุคคลที่สามใหม่ด้วยข้อมูลที่ Google ยืนยันให้ ซึ่งได้แก่ อีเมล ชื่อ และรูปโปรไฟล์ หรือเลือกที่จะลงชื่อเข้าใช้และลิงก์กับ อีเมลอื่น (ซึ่งจะต้องให้ผู้ใช้ลงชื่อเข้าใช้บริการของคุณโดยใช้การลิงก์ OAuth)

รูปที่ 3 การลิงก์บัญชีในโทรศัพท์ของผู้ใช้ด้วยการลิงก์ที่ปรับปรุงแล้ว

คุณควรใช้โฟลว์ใด

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

ทำงานกับโทเค็น

การลิงก์บัญชี Google อิงตามมาตรฐานอุตสาหกรรม OAuth 2.0

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

ประเภทโทเค็น

OAuth 2.0 ใช้สตริงที่เรียกว่าโทเค็นเพื่อสื่อสารระหว่าง User Agent, แอปพลิเคชันไคลเอ็นต์ และเซิร์ฟเวอร์ OAuth 2.0

คุณใช้โทเค็น OAuth 2.0 ได้ 3 ประเภทในระหว่างการลิงก์บัญชี ดังนี้

  • รหัสการให้สิทธิ์ โทเค็นที่ใช้ได้ในระยะสั้นซึ่งแลกเปลี่ยนเป็น โทเค็นเพื่อการเข้าถึงและโทเค็นการรีเฟรชได้ เพื่อความปลอดภัย Google จะเรียกปลายทางการให้สิทธิ์ของคุณเพื่อรับรหัสแบบใช้ครั้งเดียวหรือรหัสที่มีอายุสั้นมาก

  • โทเค็นเพื่อการเข้าถึง โทเค็นที่ให้สิทธิ์เข้าถึงทรัพยากรแก่ผู้ถือ โทเค็นนี้มีอายุการใช้งานที่จำกัด โดยปกติจะหมดอายุหลังจากผ่านไปประมาณ 1 ชั่วโมง เพื่อจำกัดการเปิดเผยที่อาจเกิดขึ้นจากการสูญเสียโทเค็นนี้

  • โทเค็นการรีเฟรช โทเค็นที่ใช้ได้นานซึ่งแลกเป็นโทเค็นเพื่อการเข้าถึงใหม่ได้เมื่อโทเค็นเพื่อการเข้าถึงหมดอายุ เมื่อบริการของคุณผสานรวมกับ Google Google จะจัดเก็บและใช้โทเค็นนี้แต่เพียงผู้เดียว Google จะเรียกใช้ปลายทางการแลกเปลี่ยนโทเค็นเพื่อแลกเปลี่ยนโทเค็นการรีเฟรชเป็นโทเค็นเพื่อการเข้าถึง ซึ่งจะใช้เพื่อเข้าถึงข้อมูลผู้ใช้

การจัดการโทเค็น

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

  • คุณได้รับคำขอโทเค็นเพื่อการเข้าถึงใหม่ และคุณออกโทเค็นเพื่อการเข้าถึงใหม่ ในขณะเดียวกัน คุณจะได้รับคำขอเข้าถึงทรัพยากรของบริการ โดยใช้โทเค็นเพื่อการเข้าถึงก่อนหน้าซึ่งยังไม่หมดอายุ
  • Google ยังไม่ได้รับคำตอบโทเค็นการรีเฟรชของคุณ (หรืออาจไม่ได้รับเลย) ในขณะเดียวกัน ระบบจะใช้โทเค็นการรีเฟรชที่ถูกต้องก่อนหน้านี้ในคำขอจาก Google

คำขอและการตอบกลับอาจมาถึงตามลำดับใดก็ได้ หรืออาจไม่มาถึงเลยเนื่องจากบริการแบบอะซิงโครนัส ที่ทำงานในคลัสเตอร์ พฤติกรรมของเครือข่าย หรือวิธีการอื่นๆ

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

  • ยอมรับโทเค็นเพื่อการเข้าถึงที่ยังไม่หมดอายุ แม้ว่าจะมีการออกโทเค็นใหม่กว่าแล้วก็ตาม
  • ใช้ทางเลือกอื่นแทนการหมุนเวียนโทเค็นการรีเฟรช
  • รองรับโทเค็นเพื่อการเข้าถึงและโทเค็นเพื่อการรีเฟรชหลายรายการที่ใช้งานได้พร้อมกัน เพื่อความปลอดภัย คุณควรจำกัดจำนวนโทเค็นและอายุของโทเค็น
การจัดการการบำรุงรักษาและการหยุดทำงาน

ในระหว่างการบำรุงรักษาหรือการหยุดทำงานที่ไม่ได้วางแผนไว้ Google อาจไม่สามารถเรียกใช้ปลายทางการให้สิทธิ์หรือการแลกเปลี่ยนโทเค็นเพื่อรับโทเค็นเพื่อการเข้าถึงและโทเค็นการรีเฟรช

ปลายทางควรตอบกลับด้วยรหัสข้อผิดพลาด 503 และไม่มีเนื้อหา ในกรณีนี้ Google จะลองส่งคำขอแลกเปลี่ยนโทเค็นที่ล้มเหลวอีกครั้งเป็นระยะเวลาหนึ่ง โดยที่ Google สามารถรับโทเค็นการรีเฟรชและโทเค็นเพื่อการเข้าถึงได้ในภายหลัง คำขอที่ไม่สำเร็จ จะไม่แสดงต่อผู้ใช้

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

คำแนะนำ

มีหลายวิธีในการลดผลกระทบจากการบำรุงรักษา ตัวเลือกบางส่วนที่ควรพิจารณามีดังนี้

  • คงบริการที่มีอยู่และกำหนดเส้นทางคำขอจำนวนจำกัดไปยัง บริการที่อัปเดตใหม่ ย้ายข้อมูลคำขอทั้งหมดหลังจากยืนยัน ฟังก์ชันการทำงานที่คาดไว้แล้วเท่านั้น

  • ลดจำนวนคำขอโทเค็นในช่วงระยะเวลาการบำรุงรักษา

    • จำกัดระยะเวลาการบำรุงรักษาให้น้อยกว่าอายุการใช้งานของโทเค็นเพื่อการเข้าถึง

    • เพิ่มอายุการใช้งานโทเค็นเพื่อการเข้าถึงชั่วคราว

      1. เพิ่มอายุโทเค็นให้นานกว่าระยะเวลาการบำรุงรักษา
      2. รอเป็น 2 เท่าของระยะเวลาตลอดอายุของโทเค็นเพื่อการเข้าถึง เพื่อให้ผู้ใช้แลกเปลี่ยนโทเค็นที่มีอายุการใช้งานสั้นเป็นโทเค็นที่มีอายุการใช้งานนานขึ้นได้
      3. เข้าสู่การบำรุงรักษา
      4. ตอบกลับคำขอโทเค็นด้วยรหัสข้อผิดพลาด 503 และเนื้อหาที่ว่างเปล่า
      5. ออกจากการบำรุงรักษา
      6. ลดอายุการใช้งานโทเค็นกลับสู่ปกติ

การลิงก์แบบถาวร

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

หากต้องการใช้การลิงก์แบบถาวร ให้ใช้วิธี "หน้าต่างเลื่อน" โดยขยายวันหมดอายุของ Refresh Token ที่มีอยู่แทนที่จะหมุนเวียน (อ้างอิง RFC 6749 ส่วนที่ 6) ซึ่งจะป้องกันไม่ให้เกิดสภาวะการแข่งขันและการยกเลิกการลิงก์โดยไม่ตั้งใจ ที่อาจเกิดขึ้นหากมีการออกโทเค็นรีเฟรชใหม่ แต่ Google ไม่ได้รับหรือจัดเก็บโทเค็นดังกล่าวสำเร็จ

ลงทะเบียนด้วย Google

เราจะต้องทราบรายละเอียดการตั้งค่า OAuth 2.0 และแชร์ข้อมูลเข้าสู่ระบบเพื่อเปิดใช้การลิงก์บัญชี ดูรายละเอียดได้ที่การจดทะเบียน