ย้ายข้อมูลจาก Google Sign-In

คู่มือนี้จะช่วยให้คุณเข้าใจการเปลี่ยนแปลงที่จำเป็นและขั้นตอน ย้ายไลบรารี JavaScript จาก Google Sign-In ก่อนหน้านี้เรียบร้อยแล้ว ไลบรารีแพลตฟอร์มเป็นไลบรารี Google Identity Services เวอร์ชันใหม่กว่าสำหรับ การตรวจสอบสิทธิ์

หากลูกค้าของคุณกำลังใช้ไลบรารีของไคลเอ็นต์ Google API สำหรับ JavaScript หรืออื่นๆ ไลบรารีก่อนหน้านี้สำหรับการให้สิทธิ์ โปรดดูย้ายข้อมูลไปยัง Google Identity บริการเพื่อดูข้อมูลเพิ่มเติม

การตรวจสอบสิทธิ์และการให้สิทธิ์

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

เช่นเดียวกับไลบรารีแพลตฟอร์ม Google Sign-In ก่อนหน้านี้ Google Identity ไลบรารีบริการสร้างมาเพื่อรองรับทั้งการตรวจสอบสิทธิ์และการให้สิทธิ์ กระบวนการ

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

หากกรณีการใช้งานของคุณเกี่ยวข้องกับการตรวจสอบสิทธิ์เท่านั้น โปรดอ่านหน้านี้ต่อ

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

มีอะไรเปลี่ยนแปลงบ้าง

สําหรับผู้ใช้ ไลบรารีใหม่ของ Google Identity Services นำเสนอ ปรับปรุงความสามารถในการใช้งาน ไฮไลต์มีดังนี้

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

สำหรับนักพัฒนาซอฟต์แวร์ เรามุ่งเน้นที่การลดความซับซ้อน ปรับปรุงการรักษาความปลอดภัย การผสานรวมให้รวดเร็วที่สุด การปรับปรุงบางส่วนเหล่านี้ ได้แก่

  • ตัวเลือกในการเพิ่มการลงชื่อเข้าใช้ของผู้ใช้ลงในเนื้อหาคงที่ของเว็บไซต์โดยใช้เพียง HTML
  • การแยกการตรวจสอบสิทธิ์การลงชื่อเข้าใช้ออกจากการให้สิทธิ์และการแชร์ ข้อมูลผู้ใช้ ไม่จำเป็นต้องมีความซับซ้อนของการผสานรวม OAuth 2.0 อีกต่อไป ให้ผู้ใช้ลงชื่อเข้าใช้ในเว็บไซต์
  • ระบบจะยังคงรองรับทั้งโหมดป๊อปอัปและโหมดเปลี่ยนเส้นทาง แต่ OAuth ของ Google โครงสร้างพื้นฐาน 2.0 จะเปลี่ยนเส้นทางไปยังปลายทางการเข้าสู่ระบบของเซิร์ฟเวอร์แบ็กเอนด์
  • ซึ่งรวมความสามารถจาก Google Identity ก่อนหน้านี้ และไลบรารี JavaScript ของ Google API เข้าเป็นไลบรารีใหม่
  • สำหรับการตอบกลับการลงชื่อเข้าใช้ ตอนนี้คุณจะได้ตัดสินใจว่าจะใช้หรือไม่ใช้ Promiseและการชี้นำผ่านฟังก์ชันรูปแบบ Getter ถูกนำออกเพื่อความง่าย

ตัวอย่างการย้ายข้อมูลการลงชื่อเข้าใช้

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

ไลบรารีและการกำหนดค่า

ไลบรารีแพลตฟอร์ม Google Sign-In ก่อนหน้า: apis.google.com/js/platform.js, และไลบรารีไคลเอ็นต์ Google APIs สำหรับ JavaScript: gapi.client ไม่ ซึ่งจำเป็นสำหรับการตรวจสอบสิทธิ์และการให้สิทธิ์ผู้ใช้ คือ แทนที่ด้วยไลบรารี JavaScript ของบริการ Google Identity ใหม่รายการเดียว ดังนี้ accounts.google.com/gsi/client

โมดูล JavaScript 3 รายการก่อนหน้านี้: api, client และ platform ใช้สำหรับ การลงชื่อเข้าใช้ทั้งหมดโหลดจาก apis.google.com เพื่อช่วยคุณระบุตำแหน่ง ซึ่งอาจรวมไลบรารีก่อนหน้านี้ไว้ในเว็บไซต์ ดังนี้

  • ปุ่มลงชื่อเข้าใช้เริ่มต้นจะโหลด apis.google.com/js/platform.js
  • กราฟิกปุ่มที่กำหนดเองโหลด apis.google.com/js/api:client.js และ
  • การใช้งาน gapi.client โดยตรงโหลด apis.google.com/js/api.js

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

  • แอปทดสอบและแอปเวอร์ชันที่ใช้งานจริงของคุณใช้โปรเจ็กต์ที่แยกจากกัน และ รหัสลูกค้า
  • ประเภทรหัสไคลเอ็นต์ OAuth 2.0 คือ "เว็บแอปพลิเคชัน" และ
  • HTTPS ใช้สำหรับต้นทางของ JavaScript ที่ได้รับอนุญาตและ URI การเปลี่ยนเส้นทาง

ระบุโค้ดที่พบปัญหาและทดสอบ

คุกกี้การแก้ไขข้อบกพร่องจะช่วยค้นหาโค้ดที่ได้รับผลกระทบและทดสอบหลังการเลิกใช้งาน พฤติกรรมของคุณ

ในแอปที่มีขนาดใหญ่หรือซับซ้อน อาจเป็นเรื่องยากที่จะหาโค้ดทั้งหมดที่ได้รับผลกระทบจาก การเลิกใช้งานโมดูล gapi.auth2 เพื่อบันทึกการใช้งาน เร็วๆ นี้ ที่เลิกใช้งานไปแล้วในคอนโซล ให้ตั้งค่าของ G_AUTH2_MIGRATION กับ informational (ไม่บังคับ) เพิ่มโคลอนตามด้วยค่าคีย์เพื่อ และบันทึกไปยังพื้นที่เก็บข้อมูลเซสชันด้วย หลังจากลงชื่อเข้าใช้และได้รับการ การตรวจสอบข้อมูลเข้าสู่ระบบหรือส่งบันทึกที่รวบรวมไว้ไปยังแบ็กเอนด์เพื่อการวิเคราะห์ในภายหลัง สำหรับ เช่น informational:showauth2use จะบันทึกต้นทางและ URL ลงในพื้นที่เก็บข้อมูลของเซสชัน คีย์ชื่อ showauth2use

หากต้องการยืนยันลักษณะการทำงานของแอปเมื่อโมดูล gapi.auth2 ไม่โหลดอีกต่อไป ให้ตั้งค่า ของคุกกี้ G_AUTH2_MIGRATION ให้เป็น enforced วิธีนี้ช่วยให้คุณทดสอบ ลักษณะการใช้งานหลังการเลิกใช้งานก่อนวันที่บังคับใช้

ค่าคุกกี้ G_AUTH2_MIGRATION ที่เป็นไปได้มีดังนี้

  • enforced ไม่ต้องโหลดโมดูล gapi.auth2
  • informational บันทึกการใช้ความสามารถที่เลิกใช้งานแล้วลงในคอนโซล JS บันทึกด้วย ไปยังพื้นที่เก็บข้อมูลเซสชันเมื่อตั้งค่าชื่อคีย์ที่ไม่บังคับไว้ ดังนี้ informational:key-name

เราขอแนะนำให้ตั้งค่าคุกกี้นี้ในเครื่องก่อนเพื่อลดผลกระทบต่อผู้ใช้ ระหว่างการพัฒนาและทดสอบ ก่อนใช้งานในสภาพแวดล้อมการใช้งานจริง

HTML และ JavaScript

ในสถานการณ์การลงชื่อเข้าใช้แบบตรวจสอบสิทธิ์เท่านั้น ตัวอย่างโค้ดและการแสดงผล ปุ่ม Google Sign-In ที่มีอยู่จะปรากฏขึ้น เลือกจากป๊อปอัปหรือเปลี่ยนเส้นทาง เพื่อดูความแตกต่างของวิธีจัดการการตอบกลับการตรวจสอบสิทธิ์โดย JavaScript Callback หรือโดยการเปลี่ยนเส้นทางที่ปลอดภัยไปยังการเข้าสู่ระบบเซิร์ฟเวอร์แบ็กเอนด์ ปลายทาง

วิธีก่อนหน้านี้

แสดงปุ่ม Google Sign-In และใช้ Callback เพื่อจัดการการลงชื่อเข้าใช้ จากเบราว์เซอร์ของผู้ใช้โดยตรง

<html>
  <body>
    <script src="https://apis.google.com/js/platform.js" async defer></script>
    <meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
    <div class="g-signin2" data-onsuccess="handleCredentialResponse"></div>
  </body>
</html>

โหมดเปลี่ยนเส้นทาง

แสดงผลปุ่ม Google Sign-In ซึ่งลงท้ายด้วยการเรียก AJAX จาก ไปยังปลายทางการเข้าสู่ระบบเซิร์ฟเวอร์แบ็กเอนด์ของคุณ

<html>
  <body>
    <script src="https://apis.google.com/js/platform.js" async defer></script>
    <meta name="google-signin-client_id" content="YOUR_CLIENT_ID">
    <div class="g-signin2" data-onsuccess="handleCredentialResponse"></div>
    <script>
      function handleCredentialResponse(googleUser) {
        ...
        var xhr = new XMLHttpRequest();
        xhr.open('POST', 'https://yourbackend.example.com/tokensignin');
        xhr.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
        xhr.onload = function() {
          console.log('Signed in as: ' + xhr.responseText);
        };
        xhr.send('idtoken=' + id_token);
      }
    </script>
  </body>
</html>

แสดงผลแล้ว

แอตทริบิวต์ภาพใหม่ช่วยลดความซับซ้อนในการสร้างแอตทริบิวต์ที่กำหนดเอง ช่วยลดการโทรหา gapi.signin2.render() และความจำเป็นใน ให้คุณโฮสต์และดูแลรักษารูปภาพและเนื้อหาภาพในเว็บไซต์

Google Sign-In

ลงชื่อเข้าใช้โดย Google

ข้อความบนปุ่มอัปเดตสถานะการลงชื่อเข้าใช้ของผู้ใช้

ด้วยวิธีใหม่

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

ใช้ Callback เพื่อจัดการการลงชื่อเข้าใช้โดยตรงจากเบราว์เซอร์ของผู้ใช้

<html>
  <body>
    <script src="https://accounts.google.com/gsi/client" async defer></script>
    <div id="g_id_onload"
         data-client_id="YOUR_CLIENT_ID"
         data-callback="handleCredentialResponse">
    </div>
    <div class="g_id_signin" data-type="standard"></div>
  </body>
</html>

โหมดเปลี่ยนเส้นทาง

Google จะเรียกปลายทางการเข้าสู่ระบบของคุณตามที่ระบุไว้โดย data-login_url ก่อนหน้านี้ คุณต้องรับผิดชอบต่อการดำเนินการ POST และ ชื่อพารามิเตอร์ ไลบรารีใหม่จะโพสต์โทเค็นรหัสไปยังปลายทางของคุณใน พารามิเตอร์ credential สุดท้าย ให้ยืนยันโทเค็นรหัสในแบ็กเอนด์ เซิร์ฟเวอร์

<html>
  <body>
    <script src="https://accounts.google.com/gsi/client" async defer></script>
    <div id="g_id_onload"
         data-client_id="YOUR_CLIENT_ID"
         data-ux_mode="redirect"
         data-login_uri="https://www.example.com/your_login_endpoint">
    </div>
    <div class="g_id_signin" data-type="standard"></div>
  </body>
</html>

แสดงผลแล้ว

ใช้ visual-attributes เพื่อปรับแต่งปุ่มลงชื่อเข้าใช้ด้วย Google ขนาด รูปร่าง สี แสดงป๊อปอัป One Tap พร้อมกับ ปุ่มเพื่อปรับปรุงอัตราการลงชื่อเข้าใช้

ลงชื่อเข้าใช้ด้วย Google
ปุ่ม แตะครั้งเดียว
ป๊อปอัป

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

ในตัวอย่างเฉพาะการตรวจสอบสิทธิ์นี้ accounts.google.com/gsi/client ใหม่ ไลบรารี คลาส g_id_signin และออบเจ็กต์ g_id_onload แทนที่รายการก่อนหน้า ไลบรารี apis.google.com/js/platform.js และออบเจ็กต์ g-signin2 รายการ

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

แม้ว่าเราจะไม่แนะนำเพราะความติดขัดในการลงชื่อเข้าใช้ที่เพิ่มขึ้น แต่ ปุ่มในแบบของคุณสามารถแสดงเพียงอย่างเดียว โดยไม่ต้องแสดง กล่องโต้ตอบ One Tap โดยตั้งค่าแอตทริบิวต์ data-auto_prompt เป็น false

API ของ HTML และ JavaScript

ตัวอย่างก่อนหน้านี้แสดงวิธีใช้ HTML API ใหม่เพื่อเพิ่มการลงชื่อเข้าใช้ เว็บไซต์ของคุณ อีกทางเลือกหนึ่งคือ คุณสามารถใช้ฟังก์ชันเทียบเท่า JavaScript API หรือผสมผสาน HTML และ JavaScript API ในผลิตภัณฑ์ ของคุณ

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

ลงชื่อเข้าใช้จากหน้าเว็บใดก็ได้ด้วย One Tap

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

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

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

การตอบกลับของโทเค็น

ผู้ใช้ต้องทำความเข้าใจหรือใช้งาน OAuth 2.0 ในการลงชื่อเข้าใช้ของผู้ใช้ รหัสการให้สิทธิ์ โทเค็นเพื่อการเข้าถึง หรือโทเค็นการรีเฟรช แทน JSON Web Token (JWT) โทเค็นรหัสใช้เพื่อแชร์สถานะการลงชื่อเข้าใช้และโปรไฟล์ผู้ใช้ เพื่อ เพื่อให้ง่ายขึ้น คุณไม่จำเป็นต้องใช้ "getter" อีกต่อไป ภาพถ่ายไฮเปอร์เรียลลิสติก วิธีการของตัวเข้าถึงในการทำงานกับข้อมูลโปรไฟล์ผู้ใช้

ระบบจะส่งข้อมูลเข้าสู่ระบบโทเค็น JWT ID ที่ Google รับรองและปลอดภัยในกรณีต่อไปนี้

  • ไปยังเครื่องจัดการ Callback JavaScript บนเบราว์เซอร์ของผู้ใช้ในโหมดป๊อปอัป หรือ
  • ไปยังเซิร์ฟเวอร์แบ็กเอนด์ของคุณผ่าน Google เปลี่ยนเส้นทางไปยังปลายทางการเข้าสู่ระบบเมื่อ ตั้งค่าปุ่ม "ลงชื่อเข้าใช้ด้วย Google" ux_mode เป็น redirect

ในทั้ง 2 กรณี ให้อัปเดตเครื่องจัดการ Callback ที่มีอยู่โดยนำรายการต่อไปนี้ออก

  • สายที่โทรหา googleUser.getBasicProfile()
  • การอ้างอิงถึง BasicProfile และการเรียกไปยัง getId() ที่เกี่ยวข้อง getName(), getGivenName(), getFamilyName(), getImageUrl() getEmail() เมธอด และ
  • การใช้ออบเจ็กต์ AuthResponse

ให้ใช้การอ้างอิงโดยตรงไปยังช่องย่อย credential ใน JWT ใหม่แทน CredentialResponse เพื่อทำงานกับข้อมูลโปรไฟล์ผู้ใช้

นอกจากนี้ และสำหรับโหมดการเปลี่ยนเส้นทางเท่านั้น โปรดตรวจสอบว่าได้ป้องกันคำขอข้ามเว็บไซต์ Forgery (CSRF) และ ยืนยันโทเค็น Google ID ในเซิร์ฟเวอร์แบ็กเอนด์ของคุณ

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

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

ผู้ใช้อาจเพิกถอนสิทธิ์และยกเลิกการเชื่อมต่อแอปของคุณจากบัญชี Google ได้ โดยไปที่ https://myaccount.google.com/permissions อีกทางเลือกหนึ่งคืออาจยกเลิกการเชื่อมต่อจากแอปโดยตรงด้วยการเรียกใช้ API ซึ่งคุณนำไปใช้ วิธี disconnect ก่อนหน้านี้คือ แทนที่ด้วยเมธอด revoke ที่ใหม่กว่า

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

ก่อนหน้านี้ คุณสามารถใช้ auth2.signOut() เพื่อช่วยจัดการการออกจากระบบของผู้ใช้ จากแอปของคุณ การใช้งาน auth2.signOut() ทั้งหมดควรถูกนำออกและแอปของคุณ ควรจัดการสถานะเซสชันและสถานะการลงชื่อเข้าใช้ของผู้ใช้โดยตรง

สถานะเซสชันและ Listener

ไลบรารีใหม่จะไม่รักษาสถานะการลงชื่อเข้าใช้หรือสถานะเซสชันสำหรับเว็บของคุณ แอป

สถานะการลงชื่อเข้าใช้บัญชี Google และสถานะเซสชันของแอปและ สถานะลงชื่อเข้าใช้นั้นแตกต่างกันและมีแนวคิดที่แยกกัน

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

เมื่อฟีเจอร์ลงชื่อเข้าใช้ด้วย Google, One Tap หรือการลงชื่อเข้าใช้โดยอัตโนมัติจะรวมอยู่ใน ผู้ใช้เว็บไซต์ต้องลงชื่อเข้าใช้บัญชี Google ของตนก่อนเพื่อทำสิ่งต่อไปนี้

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

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

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

นำการอ้างอิงถึง auth2.attachClickHandler() และข้อมูลที่ลงทะเบียนไว้ออก Callback Handler

ก่อนหน้านี้ Listener สามารถใช้เพื่อแชร์การเปลี่ยนแปลงในสถานะลงชื่อเข้าใช้สำหรับ บัญชี Google ของผู้ใช้ ระบบไม่รองรับ Listener อีกต่อไป

นำการอ้างอิงถึง listen(), auth2.currentUser และ auth2.isSignedIn

คุกกี้

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

คุกกี้ G_ENABLED_IDPS ที่กำหนดโดยไลบรารี Google Sign-In Platform ก่อนหน้านี้ ไม่ได้ใช้งานอีกต่อไป

ไลบรารี Google Identity Services ใหม่อาจตั้งค่าข้ามโดเมนเหล่านี้ (ไม่บังคับ) คุกกี้ตามตัวเลือกการกำหนดค่าของคุณ:

  • g_state จะจัดเก็บสถานะการออกจากระบบของผู้ใช้และได้รับการตั้งค่าเมื่อใช้ One Tap ป๊อปอัปหรือการลงชื่อเข้าใช้อัตโนมัติ
  • g_csrf_token เป็นคุกกี้การส่งซ้ำซึ่งใช้เพื่อป้องกันการโจมตี CSRF และได้รับการตั้งค่าเมื่อมีการเรียกใช้ปลายทางการเข้าสู่ระบบ ค่าสำหรับ URI การเข้าสู่ระบบของคุณ สามารถกำหนดอย่างชัดเจนหรืออาจตั้งค่าเริ่มต้นเป็น URI ของหน้าปัจจุบัน บัญชี อาจมีการเรียกปลายทางการเข้าสู่ระบบภายใต้เงื่อนไขเหล่านี้เมื่อใช้

    • HTML API ที่มี data-ux_mode=redirect หรือเมื่อ data-login_uri คือ ตั้งค่า หรือ

    • JavaScript API ด้วย ux_mode=redirect และตำแหน่งที่ตั้ง ไม่ได้ใช้ google.accounts.id.prompt() เพื่อแสดง One Tap หรือ ลงชื่อเข้าใช้อัตโนมัติ

หากคุณมีบริการที่จัดการคุกกี้ อย่าลืมเพิ่มคุกกี้ใหม่ 2 คุกกี้ และลบคุกกี้ก่อนหน้าเมื่อการย้ายข้อมูลเสร็จสมบูรณ์

หากคุณจัดการโดเมนหรือโดเมนย่อยหลายรายการ โปรดดูหัวข้อ Display One Tap บน โดเมนย่อยสำหรับคำแนะนำเพิ่มเติมเกี่ยวกับการทำงานกับคุกกี้ g_state

การอ้างอิงการย้ายข้อมูลออบเจ็กต์สำหรับการลงชื่อเข้าใช้ของผู้ใช้

เก่า ใหม่ หมายเหตุ
ไลบรารี JavaScript
apis.google.com/js/platform.js accounts.google.com/gsi/client แทนที่ไฟล์เก่าด้วยใหม่
apis.google.com/js/api.js accounts.google.com/gsi/client แทนที่ไฟล์เก่าด้วยใหม่
GoogleAuth และวิธีที่เกี่ยวข้อง:
GoogleAuth.attachClickHandler() IdConfiguration.callback สำหรับ data-callback สำหรับ JS และ HTML แทนที่ไฟล์เก่าด้วยใหม่
GoogleAuth.currentUser.get() CredentialResponse ใช้ CredentialResponse แทน ไม่จำเป็นอีกต่อไป
GoogleAuth.currentUser.listen() นำออก ไม่มีข้อมูลสถานะการลงชื่อเข้าใช้ปัจจุบันของผู้ใช้ใน Google ผู้ใช้ต้องลงชื่อเข้าใช้ Google เพื่อขอความยินยอมและช่วงเวลาลงชื่อเข้าใช้ select_by ใน CredentialResponse สามารถใช้เพื่อระบุผลลัพธ์ของ ความยินยอมของผู้ใช้ ตลอดจนวิธีการลงชื่อเข้าใช้ที่ใช้
GoogleAuth.disconnect() google.accounts.id.revoke แทนที่ไฟล์เก่าด้วยใหม่ การเพิกถอนอาจเกิดขึ้นจาก https://myaccount.google.com/permissions เช่นกัน
GoogleAuth.grantOfflineAccess() นำออก โทเค็นรหัสได้มาแทนที่โทเค็นเพื่อการเข้าถึงและขอบเขต OAuth 2.0 แล้ว
GoogleAuth.isSignedIn.get() นำออก ไม่มีข้อมูลสถานะการลงชื่อเข้าใช้ปัจจุบันของผู้ใช้ใน Google ผู้ใช้ต้องลงชื่อเข้าใช้ Google เพื่อขอความยินยอมและช่วงเวลาลงชื่อเข้าใช้
GoogleAuth.isSignedIn.listen() นำออก ไม่มีข้อมูลสถานะการลงชื่อเข้าใช้ปัจจุบันของผู้ใช้ใน Google ผู้ใช้ต้องลงชื่อเข้าใช้ Google เพื่อขอความยินยอมและช่วงเวลาลงชื่อเข้าใช้
GoogleAuth.signIn() นำออก HTML DOM กำลังโหลด g_id_signin องค์ประกอบ หรือการเรียก JS ถึง google.accounts.id.renderButton ทำให้ผู้ใช้ลงชื่อเข้าใช้บัญชี Google
GoogleAuth.signOut() นำออก สถานะการลงชื่อเข้าใช้ของผู้ใช้สําหรับแอปของคุณและบัญชี Google ได้แก่ เป็นอิสระจากกัน Google ไม่ได้จัดการสถานะเซสชันสำหรับแอปของคุณ
GoogleAuth.then() นำออก เลิกใช้งาน GoogleAuth แล้ว
GoogleUser และวิธีการที่เกี่ยวข้อง:
GoogleUser.disconnect() google.accounts.id.revoke แทนที่ไฟล์เก่าด้วยใหม่ การเพิกถอนอาจเกิดขึ้นจาก https://myaccount.google.com/permissions เช่นกัน
GoogleUser.getAuthResponse()
GoogleUser.getBasicProfile() CredentialResponse ใช้ credential และช่องย่อยโดยตรงแทนเมธอด BasicProfile
GoogleUser.getGrantedScopes() นำออก โทเค็นรหัสได้มาแทนที่โทเค็นเพื่อการเข้าถึงและขอบเขต OAuth 2.0 แล้ว
GoogleUser.getHostedDomain() CredentialResponse โปรดใช้ credential.hd โดยตรงแทน
GoogleUser.getId() CredentialResponse โปรดใช้ credential.sub โดยตรงแทน
GoogleUser.grantOfflineAccess() นำออก โทเค็นรหัสได้มาแทนที่โทเค็นเพื่อการเข้าถึงและขอบเขต OAuth 2.0 แล้ว
GoogleUser.grant() นำออก โทเค็นรหัสได้มาแทนที่โทเค็นเพื่อการเข้าถึงและขอบเขต OAuth 2.0 แล้ว
GoogleUser.hasGrantedScopes() นำออก โทเค็นรหัสได้มาแทนที่โทเค็นเพื่อการเข้าถึงและขอบเขต OAuth 2.0 แล้ว
GoogleUser.isSignedIn() นำออก ไม่มีข้อมูลสถานะการลงชื่อเข้าใช้ปัจจุบันของผู้ใช้ใน Google ผู้ใช้ต้องลงชื่อเข้าใช้ Google เพื่อขอความยินยอมและช่วงเวลาลงชื่อเข้าใช้
GoogleUser.reloadAuthResponse() นำออก โทเค็นรหัสได้มาแทนที่โทเค็นเพื่อการเข้าถึงและขอบเขต OAuth 2.0 แล้ว
gapi.auth2 และวิธีการที่เกี่ยวข้อง:
ออบเจ็กต์ gapi.auth2.AuthorizeConfig นำออก โทเค็นรหัสได้มาแทนที่โทเค็นเพื่อการเข้าถึงและขอบเขต OAuth 2.0 แล้ว
ออบเจ็กต์ gapi.auth2.AuthorizeResponse นำออก โทเค็นรหัสได้มาแทนที่โทเค็นเพื่อการเข้าถึงและขอบเขต OAuth 2.0 แล้ว
ออบเจ็กต์ gapi.auth2.AuthResponse นำออก โทเค็นรหัสได้มาแทนที่โทเค็นเพื่อการเข้าถึงและขอบเขต OAuth 2.0 แล้ว
gapi.auth2.authorize() นำออก โทเค็นรหัสได้มาแทนที่โทเค็นเพื่อการเข้าถึงและขอบเขต OAuth 2.0 แล้ว
gapi.auth2.ClientConfig() นำออก โทเค็นรหัสได้มาแทนที่โทเค็นเพื่อการเข้าถึงและขอบเขต OAuth 2.0 แล้ว
gapi.auth2.getAuthInstance() นำออก โทเค็นรหัสได้มาแทนที่โทเค็นเพื่อการเข้าถึงและขอบเขต OAuth 2.0 แล้ว
gapi.auth2.init() นำออก โทเค็นรหัสได้มาแทนที่โทเค็นเพื่อการเข้าถึงและขอบเขต OAuth 2.0 แล้ว
ออบเจ็กต์ gapi.auth2.OfflineAccessOptions นำออก โทเค็นรหัสได้มาแทนที่โทเค็นเพื่อการเข้าถึงและขอบเขต OAuth 2.0 แล้ว
ออบเจ็กต์ gapi.auth2.SignInOptions นำออก โทเค็นรหัสได้มาแทนที่โทเค็นเพื่อการเข้าถึงและขอบเขต OAuth 2.0 แล้ว
gapi.signin2 และวิธีการที่เกี่ยวข้อง:
gapi.signin2.render() นำออก HTML DOM กำลังโหลด g_id_signin องค์ประกอบ หรือการเรียก JS ถึง google.accounts.id.renderButton ทำให้ผู้ใช้ลงชื่อเข้าใช้บัญชี Google