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