สร้างรายได้จากส่วนขยาย Chrome ของคุณด้วยการยืนยันตัวตน OpenID Connect (OAuth 2.0)
เรียนรู้วิธีสร้างรายได้จากส่วนขยาย Chrome ของคุณโดยเพิ่มการยืนยันตัวตนของผู้ใช้เข้าไป
เรียนรู้วิธีสร้างรายได้จากส่วนขยาย Chrome ของคุณโดยเพิ่มการยืนยันตัวตนของผู้ใช้เข้าไป
ส่วนขยาย Chrome เป็นวิธีที่ยอดเยี่ยมในการขยายความสามารถของเบราว์เซอร์ Chrome เมื่อคุณมีส่วนขยายที่เป็นที่นิยม คุณอาจต้องการสร้างรายได้จากมันโดยการเสนอฟีเจอร์พิเศษให้กับผู้ใช้ที่จ่ายเงิน การยืนยันตัวตนของผู้ใช้เป็นสิ่งจำเป็นเพื่อวัตถุประสงค์นี้:
ในทางกลับกัน เราไม่ต้องการผูกติดอยู่กับระบบบัญชีของ Google เนื่องจากผู้ใช้อาจต้องการใช้บัญชีอื่น หรือ คุณอาจมีบริการหลายตัวที่ต้องการผสานเข้ากับระบบตัวตนเดียวกัน
สรุปประโยชน์ของการใช้ OpenID Connect (OIDC) สำหรับการยืนยันตัวตน:
ในบทเรียนนี้ เราจะใช้ Logto เป็นผู้ให้บริการ OIDC ซึ่งเป็นทางเลือกสำหรับ Auth0 ในการสร้างโครงสร้างพื้นฐานตัวตน
เริ่มกันเลย!
สมมติว่าคุณใส่ปุ่ม "ลงชื่อเข้าใช้" ในป๊อปอัปของส่วนขยาย Chrome ของคุณ กระบวนการยืนยันตัวตนจะเป็นดังนี้:
สำหรับหน้าอินเตอร์แอคทีฟอื่น ๆ ในส่วนขยายของคุณ คุณเพียงแค่ต้องแทนที่ผู้เข้าร่วม Extension popup ด้วยชื่อของหน้า ในบทเรียนนี้เราจะมุ่งเน้นไปที่หน้า Popup
เพื่อเริ่มต้น ให้สร้างแอปพลิเคชัน Logto ด้วยประเภท "แอปฯ หน้าเดียว" ทำตามขั้นตอนเหล่านี้เพื่อสร้างแอปพลิเคชัน Logto:
ติดตั้ง Logto SDK ในโปรเจกต์ส่วนขยาย Chrome ของคุณ:
manifest.jsonLogto SDK ต้องการสิทธิ์ต่อไปนี้ใน manifest.json:
permissions.identity: จำเป็นสำหรับ API ระบุตัวตนของ Chrome ซึ่งใช้เพื่อเข้าสู่ระบบและออกจากระบบpermissions.storage: จำเป็นสำหรับการจัดเก็บเซสชันของผู้ใช้host_permissions: จำเป็นสำหรับ Logto SDK ในการสื่อสารกับ API ของ Logtoในสคริปต์พื้นหลังของส่วนขยาย Chrome ของคุณ ให้เริ่มต้นใช้งาน Logto SDK:
แทนที่ <your-logto-endpoint> และ <your-logto-app-id> ด้วยค่าจริง คุณสามารถหาได้ในหน้าของแอปพลิเคชันที่คุณเพิ่งสร้างใน Logto Console
หากคุณไม่มีสคริปต์พื้นหลัง คุณสามารถติดตาม คู่มืออย่างเป็นทางการ เพื่อสร้างสคริปต์ได้
จากนั้นเราจำเป็นต้องฟังข้อความจากหน้าส่วนขยายอื่น ๆ และจัดการกระบวนการยืนยันตัวตน:
คุณอาจสังเกตเห็นว่ามี URI เปลี่ยนเส้นทางสองตัวที่ถูกใช้ในโค้ดด้านบน ถูกสร้างโดย chrome.identity.getRedirectURL ซึ่งเป็น API ในตัวของ Chrome เพื่อสร้าง URL เปลี่ยนเส้นทางสำหรับกระบวนการยืนยัน ตัว URI ทั้งสองจะเป็น:
https://<extension-id>.chromiumapp.org/callback สำหรับการลงชื่อเข้าใช้https://<extension-id>.chromiumapp.org/ สำหรับการออกจากระบบโปรดจำไว้ว่า URI เหล่านี้ไม่สามารถเข้าถึงได้ และใช้เฉพาะสำหรับ Chrome เพื่อกระตุ้นการดำเนินการเฉพาะสำหรับกระบวนการยืนยันตัวตน
ตอนนี้เราจำเป็นต้องอัปเดตการตั้งค่าแอปพลิเคชัน Logto ให้อนุญาต URI เปลี่ยนเส้นทางที่เราเพิ่งสร้าง
https://<extension-id>.chromiumapp.org/callbackhttps://<extension-id>.chromiumapp.org/chrome-extension://<extension-id> SDK ในส่วนขยาย Chrome จะใช้ต้นทางนี้ในการสื่อสารกับ API ของ Logtoอย่าลืมแทนที่ <extension-id> ด้วย ID ของส่วนขยายที่แท้จริง คุณสามารถหา ID ของส่วนขยายได้ที่หน้า chrome://extensions
หลังจากอัปเดตการตั้งค่าแล้ว การตั้งค่าแอปพลิเคชัน Logto ของคุณควรเป็นดังนี้:

เราเกือบจะเสร็จแล้ว! มาเพิ่มปุ่มลงชื่อเข้าใช้และออกจากระบบและตรรกะอื่น ๆ ที่จำเป็นในหน้าป๊อปอัปกันเถอะ
ในไฟล์ popup.html:
ในไฟล์ popup.js (สมมติว่า popup.js ถูกรวมใน popup.html):
ตอนนี้คุณสามารถทดสอบกระบวนการยืนยันตัวตนในส่วนขยาย Chrome ของคุณได้:
เนื่องจาก Chrome มี API การจัดเก็บแบบรวมศูนย์ แทนที่จะเป็นการลงชื่อเข้าใช้และออกจากระบบ ฟังก์ชันอื่น ๆ ของ Logto SDK สามารถใช้ได้ในหน้า Popup โดยตรง
ใน popup.js ของคุณ คุณสามารถใช้ตัวอย่าง LogtoClient ที่สร้างในสคริปต์พื้นหลังหรือสร้างใหม่ที่มีการตั้งค่าเดียวกัน:
จากนั้นคุณสามารถสร้างฟังก์ชันเพื่อโหลดสถานะการยืนยันตัวตนและโปรไฟล์ของผู้ใช้:
คุณสามารถรวมฟังก์ชัน loadAuthenticationState กับตรรกะการลงชื่อเข้าใช้และออกจากระบบ:
นี่คือตัวอย่างของหน้าป๊อปอัปที่มีสถานะการยืนยันตัวตน:

สำหรับข้อมูลเพิ่มเติมเกี่ยวกับ SDK คุณสามารถอ้างอิงจาก คู่มืออย่างเป็นทางการของ SDK ของเบราว์เซอร์ SDK ของเบราว์เซอร์มี API เดียวกันกับ SDK ของส่วนขยาย Chrome
browser หรือคล้ายกันเพื่อหลีกเลี่ยงการรวมโมดูล Node.jsดู ตัวอย่างโปรเจกต์ของเรา สำหรับตัวอย่างสมบูรณ์ด้วย TypeScript, Rollup, และการตั้งค่าอื่นๆ
ด้วยผู้ใช้ที่ได้รับการยืนยันตัวตนแล้ว คุณสามารถนำเสนอคุณสมบัติที่ต้องชำระเงินอย่างปลอดภัยภายในส่วนขยาย Chrome ของคุณได้ เช่น คุณสามารถจัดเก็บสถานะการสมัครสมาชิกของผู้ใช้ในโปรไฟล์ผู้ใช้แล้วตรวจสอบเมื่อผู้ใช้เปิดส่วนขยาย
ผสมผสานพลังของส่วนขยาย Chrome และ Logto คุณสามารถสร้างส่วนขยายที่ยืดหยุ่นและปรับแต่งได้มากขึ้นที่ทั้งคุณและผู้ใช้ของคุณจะรัก