การผสานรวม Google Sign-In กับเว็บแอป

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

เอกสารนี้อธิบายวิธีการผสานรวม Google Sign-In พื้นฐานให้เสร็จสมบูรณ์

สร้างข้อมูลรับรองการให้สิทธิ์

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

  1. Go to the Credentials page.
  2. คลิกสร้างข้อมูลรับรอง &gt รหัสไคลเอ็นต์ OAuth
  3. เลือกประเภทแอปพลิเคชันเว็บแอปพลิเคชัน
  4. ตั้งชื่อไคลเอ็นต์ OAuth 2.0 แล้วคลิกสร้าง

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

โหลดไลบรารีของ Google Platform

คุณต้องรวมไลบรารี Google Platform ในหน้าเว็บที่รวม Google Sign-In ไว้ด้วย

<script src="https://apis.google.com/js/platform.js" async defer></script>

ระบุรหัสไคลเอ็นต์ของแอป

ระบุรหัสไคลเอ็นต์ที่คุณสร้างขึ้นสําหรับแอปใน Google Developers Console ด้วยเอลิเมนต์เมตา google-signin-client_id

<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">
ได้ด้วย

เพิ่มปุ่ม Google Sign-In

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

หากต้องการสร้างปุ่ม Google Sign-In ที่ใช้การตั้งค่าเริ่มต้น ให้เพิ่มเอลิเมนต์ div ที่มีคลาส g-signin2 ลงในหน้าลงชื่อเข้าใช้

<div class="g-signin2" data-onsuccess="onSignIn"></div>

ดูข้อมูลโปรไฟล์

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

หากต้องการเรียกข้อมูลโปรไฟล์ของผู้ใช้ ให้ใช้เมธอด getBasicProfile()

function onSignIn(googleUser) {
  var profile = googleUser.getBasicProfile();
  console.log('ID: ' + profile.getId()); // Do not send to your backend! Use an ID token instead.
  console.log('Name: ' + profile.getName());
  console.log('Image URL: ' + profile.getImageUrl());
  console.log('Email: ' + profile.getEmail()); // This is null if the 'email' scope is not present.
}

ให้ผู้ใช้ออกจากระบบ

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

<a href="#" onclick="signOut();">Sign out</a>
<script>
  function signOut() {
    var auth2 = gapi.auth2.getAuthInstance();
    auth2.signOut().then(function () {
      console.log('User signed out.');
    });
  }
</script>