การลิงก์บัญชีช่วยให้เจ้าของบัญชี 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 สั่งของที่ร้าน Starbucks ตามปกติ"
ให้ผู้ใช้รับรางวัลด้วยการดูสตรีมแบบสดที่มีสิทธิ์บน YouTube หลังจากลิงก์บัญชี Google กับบัญชีพาร์ทเนอร์รางวัลแล้ว
เติมข้อมูลบัญชีใหม่ล่วงหน้าในระหว่างการลงชื่อสมัครใช้ด้วยข้อมูลที่แชร์โดยยินยอมจากโปรไฟล์บัญชี Google
ฟีเจอร์ที่รองรับ
การลิงก์บัญชี Google รองรับฟีเจอร์เหล่านี้
แชร์ข้อมูลได้อย่างรวดเร็วและง่ายดายโดยใช้ขั้นตอนโดยนัยการลิงก์ OAuth
เพิ่มความปลอดภัยด้วยขั้นตอนรหัสการให้สิทธิ์การลิงก์ OAuth
ลงชื่อเข้าใช้ผู้ใช้ที่มีอยู่หรือลงชื่อสมัครใช้ผู้ใช้ใหม่ที่ได้รับการยืนยันจาก Google ในแพลตฟอร์มของคุณ ขอความยินยอมจากผู้ใช้ และแชร์ข้อมูลอย่างปลอดภัยด้วยการลิงก์ที่มีประสิทธิภาพยิ่งขึ้น
ลดความติดขัดด้วย App Flip จากแอป 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 สำหรับโฟลว์แบบโดยนัย และต้องแสดงทั้งปลายทางการให้สิทธิ์และการแลกเปลี่ยนโทเค็นเมื่อใช้โฟลว์การให้สิทธิ์
![](https://developers.google.cn/static/identity/account-linking/images/web-oauth-flow.png?authuser=9&hl=th)
รูปที่ 1 การลิงก์บัญชีในโทรศัพท์ของผู้ใช้ด้วย OAuth ของเว็บ
การลิงก์ App Flip ที่ใช้ OAuth ("การสลับแอป")
ขั้นตอน OAuth ที่ส่งผู้ใช้ไปยังแอปเพื่อทำการลิงก์
การลิงก์แอปแบบใช้ OAuth จะแนะนำผู้ใช้ในระหว่างที่ย้ายระหว่างแอปบนอุปกรณ์เคลื่อนที่ Android หรือ iOS ที่ยืนยันแล้วกับแพลตฟอร์มของ Google เพื่อตรวจสอบการเปลี่ยนแปลงการเข้าถึงข้อมูลที่เสนอและยินยอมให้ลิงก์บัญชีในแพลตฟอร์มของคุณกับบัญชี Google ของตน หากต้องการเปิดใช้ App Flip บริการของคุณต้องรองรับการลิงก์ OAuth หรือการลิงก์ Google Sign-In ที่ใช้ OAuth โดยใช้ขั้นตอนรหัสการให้สิทธิ์
App Flip รองรับทั้ง Android และ iOS
วิธีการทำงาน
แอป Google จะตรวจสอบว่าแอปของคุณติดตั้งอยู่ในอุปกรณ์ของผู้ใช้หรือไม่ โดยทำดังนี้
- หากพบแอป ระบบจะ "พลิก" ผู้ใช้มายังแอปของคุณ แอปรวบรวมความยินยอมจากผู้ใช้เพื่อลิงก์บัญชีกับ Google จากนั้น "พลิกกลับ" ไปยังแพลตฟอร์มของ Google
- หากไม่พบแอปหรือเกิดข้อผิดพลาดระหว่างกระบวนการลิงก์แอปแบบพลิก ระบบจะเปลี่ยนเส้นทางผู้ใช้ไปยังขั้นตอน OAuth ที่เพิ่มประสิทธิภาพหรือ OAuth บนเว็บ
![](https://developers.google.cn/static/identity/account-linking/images/app-flip-flow.png?authuser=9&hl=th)
รูปที่ 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 ให้ไว้ ซึ่งได้แก่ อีเมล ชื่อ และรูปโปรไฟล์ หรือเลือกลงชื่อเข้าใช้และลิงก์กับอีเมลอื่น (ซึ่งจะต้องให้ผู้ใช้ลงชื่อเข้าใช้บริการผ่าน OAuth บนเว็บ)
![](https://developers.google.cn/static/identity/account-linking/images/streamlined-flow.png?authuser=9&hl=th)
รูปที่ 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 โดยนัย
คำแนะนำ
มีวิธีแก้ไขมากมายเพื่อลดผลกระทบในการบำรุงรักษา บางตัวเลือกที่ควรพิจารณา:
รักษาบริการที่มีอยู่ของคุณและกำหนดเส้นทางคำขอจำนวน จำกัด ไปยังบริการที่อัปเดตใหม่ของคุณ ย้ายข้อมูลคำขอทั้งหมดหลังจากยืนยันฟังก์ชันการทำงานที่คาดไว้เท่านั้น
ลดจำนวนคำขอโทเค็นระหว่างช่วงเวลาการบำรุงรักษา:
จำกัด ระยะเวลาการบำรุงรักษาให้น้อยกว่าอายุการใช้งานโทเค็นการเข้าถึง
เพิ่มอายุการใช้งานโทเค็นการเข้าถึงชั่วคราว:
- เพิ่มอายุการใช้งานโทเค็นให้มากกว่าระยะเวลาการบำรุงรักษา
- รอเป็นสองเท่าของอายุการใช้งานโทเค็นการเข้าถึงของคุณทำให้ผู้ใช้สามารถแลกเปลี่ยนโทเค็นที่มีอายุสั้นสำหรับโทเค็นที่มีระยะเวลานานขึ้น
- เข้าสู่การบำรุงรักษา
- ตอบสนองคำขอโทเค็นด้วยรหัสข้อผิดพลาด
503
และเนื้อความว่างเปล่า - ออกจากการบำรุงรักษา
- ลดอายุการใช้งานโทเค็นกลับสู่สภาวะปกติ
การลงทะเบียนกับ Google
เราจะต้องการทราบรายละเอียดการตั้งค่า OAuth 2.0 และแชร์ข้อมูลเข้าสู่ระบบเพื่อเปิดใช้การลิงก์บัญชี ดูรายละเอียดในการลงทะเบียน