ภาพรวม

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

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

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

Use Case

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

  • แชร์ข้อมูลของผู้ใช้จากแพลตฟอร์มด้วยแอปและบริการของ Google

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

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

  • สร้างประสบการณ์และฟังก์ชันการทํางานของ Google Assistant ที่กําหนดเองด้วยการดําเนินการสนทนา, & Hey Google สั่งอาหารตามปกติจาก Starbucks"

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

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

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

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

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

  • ยกระดับการรักษาความปลอดภัยด้วยขั้นตอนรหัสการให้สิทธิ์การลิงก์ OAuth

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

  • ลดอุปสรรคด้วย App Flip เพียงแตะครั้งเดียวจากแอป 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 ของเว็บ

การลิงก์ Flip แบบ OAuth ('App Flip')

กระบวนการ OAuth ที่ส่งผู้ใช้ไปยังแอปของคุณเพื่อลิงก์

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

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

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

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

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

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

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

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

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

การใช้งานโทเค็น

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

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

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

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

คุณสามารถใช้โทเค็น OAuth 2.0 สามประเภทในระหว่างการเชื่อมโยงบัญชี:

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

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

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

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

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

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

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

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

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

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

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

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

คำแนะนำ

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

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

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

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

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

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

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

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