ภาพรวม

การลิงก์บัญชีช่วยให้ผู้ถือบัญชี 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 ที่เชื่อถือได้ การแตะ 1 ครั้งจะเปิดแอป Android หรือ iOS ที่ยืนยันแล้วอย่างปลอดภัย และการแตะ 1 ครั้งจะให้ ความยินยอมของผู้ใช้และลิงก์บัญชี

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

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

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

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

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

การลิงก์ OAuth ("OAuth บนเว็บ")

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

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

รูปที่ 1 การลิงก์บัญชีในโทรศัพท์ของผู้ใช้ด้วย Web 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 ที่ปรับปรุงแล้วหรือโฟลว์ 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 ยืนยัน ได้แก่ อีเมล ชื่อ และรูปโปรไฟล์ หรือเลือกที่จะลงชื่อเข้าใช้และลิงก์กับอีเมลอื่น (ซึ่งจะต้องลงชื่อเข้าใช้บริการของคุณโดยใช้ Web OAuth)

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

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

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