เลือกรูปแบบการให้สิทธิ์ผู้ใช้

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

ก่อนอ่านคู่มือนี้ เราถือว่าคุณคุ้นเคยกับคำศัพท์และแนวคิดที่อธิบายไว้ในคู่มือภาพรวมและวิธีการให้สิทธิ์ผู้ใช้

ไลบรารี GIS จะทำงานในเบราว์เซอร์ที่รองรับเหล่านี้ในอุปกรณ์ของผู้ใช้ ไม่ได้มีไว้ใช้กับเฟรมเวิร์ก JavaScript ฝั่งเซิร์ฟเวอร์ เช่น Node.js แต่ให้ใช้ไลบรารีไคลเอ็นต์ Node.js ของ Google แทน

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

ตัดสินใจว่าไลบรารี GIS เหมาะกับคุณหรือไม่

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

  • ไลบรารี JavaScript สำหรับบริการข้อมูลประจำตัวของ Google จะใช้ข้อมูลต่อไปนี้
    • ขั้นตอนการให้ความยินยอมตามป๊อปอัปเพื่อลดการเปลี่ยนเส้นทางให้เหลือน้อยที่สุด ซึ่งจะทำให้ผู้ใช้อยู่ในเว็บไซต์ของคุณตลอดกระบวนการให้สิทธิ์
    • ฟีเจอร์ด้านความปลอดภัย เช่น Cross-site Request Forgery (CRSF)
    • วิธีการของตัวช่วยในการขอขอบเขตแต่ละรายการและยืนยันความยินยอมของผู้ใช้
    • ลิงก์การจัดการข้อผิดพลาดที่เอื้อต่อมนุษย์และเอกสารประกอบเพื่อให้วิศวกรนำไปใช้งานระหว่างการพัฒนาและสำหรับผู้เข้าชมเว็บไซต์ของคุณในภายหลัง
  • เมื่อติดตั้งใช้งานโดยไม่มีไลบรารีของ Identity Services คุณมีหน้าที่รับผิดชอบต่อสิ่งต่อไปนี้
    • การจัดการคำขอและการตอบกลับด้วยปลายทาง OAuth 2.0 ของ Google รวมถึงการเปลี่ยนเส้นทาง
    • การเพิ่มประสิทธิภาพประสบการณ์ของผู้ใช้
    • การใช้ฟีเจอร์ด้านความปลอดภัยเพื่อตรวจสอบคำขอ การตอบสนอง และการป้องกัน CSRF
    • วิธีการยืนยันผู้ใช้ให้คำยินยอมสำหรับขอบเขตใดๆ ที่ขอ
    • การจัดการรหัสข้อผิดพลาด OAuth 2.0 สร้างข้อความที่มนุษย์อ่านได้ และลิงก์ไปยังความช่วยเหลือของผู้ใช้

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

การเลือกขั้นตอนการให้สิทธิ์

คุณจะต้องเลือกขั้นตอนการให้สิทธิ์ OAuth 2.0 อย่างใดอย่างหนึ่งจาก 2 ขั้นตอน ได้แก่ รหัสโดยนัยหรือรหัสการให้สิทธิ์ ไม่ว่าคุณจะตัดสินใจใช้ไลบรารี JavaScript ของ Google Identity Services หรือสร้างไลบรารีของคุณเอง

ทั้ง 2 ขั้นตอนจะทำให้เกิดโทเค็นเพื่อการเข้าถึงซึ่งใช้เพื่อเรียกใช้ Google APIs ได้

ความแตกต่างหลักระหว่าง 2 ขั้นตอนมีดังนี้

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

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

การเปรียบเทียบขั้นตอน OAuth 2.0

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