ภาพรวม

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

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

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

Use Case

สาเหตุบางประการที่ทําให้เกิดการลิงก์บัญชี Google ได้แก่

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

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

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

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

  • ช่วยให้ผู้ใช้ได้รับรางวัลโดยการดูสตรีมแบบสดที่มีสิทธิ์บน 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
  • หากไม่พบแอปหรือเกิดข้อผิดพลาดระหว่างขั้นตอนการลิงก์ Flip ของแอป ระบบจะเปลี่ยนเส้นทางผู้ใช้ไปยังขั้นตอนที่มีประสิทธิภาพมากขึ้นหรือ 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) และดําเนินการ Intent ของ check, create และ get

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

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

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