ภาพรวม

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

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

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

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

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

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

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

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

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

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

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

ฟีเจอร์ที่รองรับ

การลิงก์บัญชี Google รองรับฟีเจอร์ต่อไปนี้

  • แชร์ข้อมูลได้อย่างรวดเร็วและง่ายดายโดยใช้ขั้นตอนการลิงก์ OAuth โดยนัย

  • เพิ่มความปลอดภัยด้วยโฟลว์รหัสการให้สิทธิ์การลิงก์ OAuth

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

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

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

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

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

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

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

การลิงก์ OAuth ("Web OAuth")

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

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

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

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

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

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

การพลิกแอปใช้ได้ทั้งใน Android และ iOS

วิธีการทํางาน:

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

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

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

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

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

วิธีการทํางาน:

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

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

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

คุณควรใช้ขั้นตอนใด

เราขอแนะนำให้ใช้ขั้นตอนทั้งหมดเพื่อให้ผู้ใช้ได้รับประสบการณ์การลิงก์ที่ดีที่สุด ขั้นตอนการลิงก์ที่มีประสิทธิภาพมากขึ้นและการเปลี่ยนแอปช่วยลดความยุ่งยากในการลิงก์ เนื่องจากผู้ใช้สามารถดำเนินการลิงก์ให้เสร็จสมบูรณ์ได้ในไม่กี่ขั้นตอน การลิงก์ 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. ลดอายุการใช้งานของโทเค็นให้กลับเป็นปกติ

การลงทะเบียนกับ Google

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