• Idp
  • apache answer
  • community

Logto ในการปฏิบัติ: การผสานรวม Apache Answer เพื่อเปิดชุมชนให้ผู้ใช้ของคุณสามารถเข้าถึงได้อย่างราบรื่น

แสดงให้เห็นถึงวิธีใช้คุณสมบัติแอป 3rd-party ของ Logto เพื่อบูรณาการ Apache Answer สร้างแพลตฟอร์มชุมชนแบบรวมศูนย์ที่ผู้ใช้สามารถเข้าถึงการสนับสนุนได้โดยไม่ต้องสร้างบัญชีใหม่

Yijun
Yijun
Developer

หยุดเสียเวลาเป็นสัปดาห์กับการยืนยันตัวตนผู้ใช้
เปิดตัวแอปที่ปลอดภัยเร็วขึ้นด้วย Logto ผสานการยืนยันตัวตนผู้ใช้ภายในไม่กี่นาทีและมุ่งเน้นที่ผลิตภัณฑ์หลักของคุณ
เริ่มต้นใช้งาน
Product screenshot

การสร้างผลิตภัณฑ์ซอฟต์แวร์ที่ดีเป็นความสำเร็จที่ยิ่งใหญ่ แต่จริงๆ แล้วเป็นเพียงจุดเริ่มต้นของการเดินทาง

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

ในบทความนี้ ฉันจะ:

  • อธิบายวิธีการทำงานของคุณสมบัติแอปพลิเคชัน Third-Party ของ Logto (OIDC)
  • แสดงวิธีใช้ Logto สำหรับการผสานรวม Apache Answer เพื่อสร้างชุมชนให้ผู้ใช้ของคุณสามารถถามคำถาม แบ่งปันไอเดีย และขอความช่วยเหลือจากทีมงานของคุณและผู้ใช้อื่นๆ ได้

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

Apache Answer คืออะไร

apache-answer.png

Apache Answer เป็นแพลตฟอร์ม Q&A แบบโอเพนซอร์สที่เชื่อมต่อผู้ใช้และทีมงาน สร้างพื้นที่สำหรับการแบ่งปันความรู้และการแก้ปัญหาร่วมกัน ฟีเจอร์ของแพลตฟอร์มดังกล่าวรวมถึงการแสดงตัวอย่าง Markdown แบบเรียลไทม์ การค้นหาขั้นสูง และระบบการโหวตเนื้อหา

แพลตฟอร์มรองรับการเข้าสู่ระบบ OAuth 2.0 โดยอัตโนมัติ ทำให้สามารถใช้งานร่วมกับผู้ให้บริการเข้าสู่ระบบที่มีอยู่เช่น Logto ได้โดยธรรมชาติ ผู้ใช้สามารถเข้าสู่ระบบด้วยบัญชีที่มีอยู่แล้วโดยไม่ต้องสร้างข้อมูลรับรองใหม่สำหรับแพลตฟอร์มชุมชน

ทำความเข้าใจกับคุณสมบัติแอปพลิเคชัน Third-Party ของ Logto

เมื่อเราต้องการให้ผู้ใช้เข้าสู่ระบบแอปพลิเคชัน Third-Party ด้วยบัญชีของ Logto, Logto ทำหน้าที่เป็น Identity Provider (IdP) ของแอปพลิเคชันของคุณ

คิดว่ามันเป็นหน่วยงานกลางที่รับผิดชอบในการตรวจสอบตัวตนของผู้ใช้ของคุณ เมื่อผู้ใช้เข้าสู่ระบบแอปพลิเคชันหลักของคุณ มันจะเปลี่ยนเส้นทางพวกเขาไปยัง Logto เพื่อจัดการกระบวนการรับรองความถูกต้อง (ชื่อผู้ใช้/รหัสผ่าน การเข้าสู่ระบบทางสังคม ฯลฯ) เมื่อ Logto ตรวจสอบผู้ใช้สำเร็จ มันจะบอกแอปพลิเคชันของคุณว่า "ใช่ ผู้ใช้นี้ถูกต้อง" และให้ข้อมูลพื้นฐานบางอย่างเกี่ยวกับพวกเขา

แนวคิดนี้ขยายไปไกลกว่าแค่แอปพลิเคชันหลักของคุณ Logto มีคุณสมบัติที่ทรงพลัง —— แอปพลิเคชัน Third-Party คุณสมบัตินี้ช่วยให้ Logto สามารถทำหน้าที่ IdP ไม่เพียงแต่สำหรับแอปพลิเคชันของคุณเอง แต่สำหรับแอปพลิเคชันภายนอกอื่นๆ ที่คุณต้องการให้ผู้ใช้ของคุณเข้าถึงได้

มันใช้ OpenID Connect (OIDC) ซึ่งเป็นเลเยอร์เอกลักษณ์มาตรฐานที่สร้างอยู่บนโปรโตคอล OAuth 2.0 พูดง่ายๆ OIDC ช่วยให้แอปพลิเคชัน (เช่น Apache Answer ที่เรียกว่า Relying Party หรือ Client) สามารถขอและรับข้อมูลเกี่ยวกับเอกลักษณ์ของผู้ใช้จาก IdP (Logto)

เมื่อคุณกำหนดค่าแอปพลิเคชัน OIDC ภายใน Logto สำหรับ Apache Answer คุณแค่บอก Logto ว่า: "เตรียมพร้อมที่จะตรวจสอบความถูกต้องของผู้ใช้ในนามของ Apache Answer หากร้องขอ และถ้าผู้ใช้ยอมรับ ให้ส่งข้อมูลตัวตนพื้นฐานบางอย่างของผู้ใช้อย่างปลอดภัยให้กับ Answer" ความสามารถนี้เป็นกุญแจสำคัญในการปลดล็อกการเข้าสู่ระบบแบบ Single Sign-On (SSO) ระหว่างแอปพลิเคชันที่ได้รับการยืนยันจาก Logto และเครื่องมือ Third-Party เช่น Apache Answer

ตั้งฉาก: YourApp + Logto + Apache Answer

ก่อนที่จะลงลึกในรายละเอียดเกี่ยวกับการตั้งค่า มาทำความเข้าใจเกี่ยวกับส่วนประกอบที่เกี่ยวข้องในสถานการณ์ของเรากัน:

  1. YourApp: นี่คือแอปพลิเคชันเว็บหรือมือถือหลักของคุณที่ผู้ใช้ได้ลงทะเบียนและเข้าสู่ระบบแล้ว สำคัญที่สุดคือ YourApp ได้รวมเข้ากับ Logto สำหรับการยืนยันตัวตน
  2. Logto: แพลตฟอร์ม IAM กลางของคุณ ทำหน้าที่เป็น IdP ผู้ใช้ของคุณมีบัญชีที่จัดการโดย Logto
  3. Apache Answer: แพลตฟอร์ม Q&A แบบโอเพนซอร์สที่คุณต้องการนำไปใช้เป็นศูนย์กลางชุมชนสำหรับผู้ใช้ของ YourApp เป้าหมายของเราคือการกำหนดค่า Answer ให้ใช้ Logto แทนการเข้าสู่ระบบสตันท้องถิ่นของมันเอง

ขั้นตอนปฏิบัติ: กำหนดค่า Logto และ Apache Answer

ตอนนี้มาลงมือทำกัน การดำเนินการนี้ประกอบด้วยการตั้งค่าทั้งใน Logto และ Apache Answer

ติดตั้ง Apache Answer

ทำตาม คู่มือการติดตั้งอย่างเป็นทางการ เพื่อทำการติดตั้ง Apache Answer และสุดท้ายคุณสามารถเข้าถึงมันได้ที่ http://localhost:9080 ตามค่าเริ่มต้น

สร้างแอปพลิเคชัน OIDC ใน Logto

  1. ลงชื่อเข้าใช้ Logto Console ของคุณ
  2. ไปที่หน้าของแอปพลิเคชัน
  3. คลิกที่ปุ่ม "Create application" ที่มุมบนขวาของหน้า (หากคุณไม่เห็นปุ่มนี้ ให้คลิก "view all" ที่ด้านล่างของรายการเฟรมเวิร์ค)
  4. เลือกหมวดหมู่ "Third party application" จากนั้นเลือก "OIDC"
  5. ป้อนชื่อแอปพลิเคชัน (เช่น "Apache Answer Community") และคำอธิบาย (ไม่บังคับ)
  6. คลิก "Create" เพื่อเสร็จสิ้นการสร้างแอปพลิเคชัน หลังจากสร้างแอปพลิเคชัน คุณจะถูกนำไปยังหน้ารายละเอียดแอปพลิเคชัน
  7. ในหน้ารายละเอียด ให้เพิ่ม http://localhost:9080/answer/api/v1/connector/redirect/basic ไปยังฟิลด์ Redirect URI
  8. คลิก "Save" เพื่อบันทึกแอปพลิเคชัน

กำหนดค่าการอนุญาตสำหรับ Apache Answer

  1. ในหน้ารายละเอียดแอปพลิเคชัน ไปที่แท็บ Permissions
  2. ภายใต้ Grant permissions of user data คุณจะเห็นข้อความ "You don't have any grant permissions of user data set up yet."
  3. คลิกปุ่ม Add เพื่อกำหนดค่าข้อมูลผู้ใช้ที่ Apache Answer สามารถเข้าถึงได้
  4. เลือก Scopes ที่จำเป็น (profile และ email) เพื่ออนุญาตให้ Apache Answer รับข้อมูลผู้ใช้พื้นฐานเมื่อเข้าสู่ระบบ
  5. บันทึกการตั้งค่าการอนุญาตของคุณ

logto-grant-permissions.png

กำหนดค่าการเข้าสู่ระบบ OAuth ใน Apache Answer

  1. เข้าสู่ระบบ Apache Answer ของคุณด้วยบัญชีผู้ดูแลระบบ
  2. ไปที่แดชบอร์ด Admin ที่ http://localhost:9080/admin
  3. ไปที่ Plugins -> Installed Plugins และเปิดใช้งานปลั๊กอิน OAuth2 Basic
  4. ไปที่หน้า OAuth2 Basic ของปลั๊กอิน
  5. เติมข้อมูลตามแอปพลิเคชัน Logto 3rd-party ที่คุณเพิ่งสร้างขึ้น:
    • Name: ชื่อของการเชื่อมต่อของคุณซึ่งจะแสดงในหน้าล็อกอิน
    • Client ID: "App ID" จากหน้ารายละเอียดแอปพลิเคชัน
    • Client Secret: "App Secret" จากส่วน "Endpoints & Credentials" ของหน้ารายละเอียด
    • Authorize URL: "Authorization endpoint" จากส่วน "Endpoints & Credentials" ของหน้ารายละเอียด
    • Token URL: "Token endpoint" จากส่วน "Endpoints & Credentials" ของหน้ารายละเอียด
    • User JSON URL: "Userinfo endpoint" จากส่วน "Endpoints & Credentials" ของหน้ารายละเอียด
    • User ID JSON Path: sub
    • User Display Name JSON Path: name
    • User Username JSON Path: username
    • User Email JSON Path: email
    • User Avatar JSON Path: picture
    • User Email Verified JSON Path: email_verified
    • Scopes: openid,profile,email
  6. Save การกำหนดค่าของปลั๊กอินใน Apache Answer

หมายเหตุ: ต้องแน่ใจว่าได้รวม scope openid ซึ่งจำเป็นตามมาตรฐาน OIDC ในการดึงข้อมูลผู้ใช้จาก User JSON URL เนื่องจากแอปพลิเคชัน Third-Party ของ Logto ใช้คุณสมบัตินี้ตาม OIDC ในขณะที่ปลั๊กอินของ Apache Answer ใช้ OAuth 2.0 scope นี้จึงจำเป็นเพื่อให้การตรวจสอบถูกต้องระหว่างทั้งสองระบบ

จุดตรวจสอบ: ทดสอบการผสานรวม

เมื่อ Logto และ Apache Answer ถูกกำหนดค่าแล้ว มาดูประสบการณ์ของผู้ใช้ที่ไร้รอยต่อ:

  1. เยี่ยมชม Apache Answer ของคุณ คุณจะเห็นปุ่ม "Connect with Logto" บนหน้าล็อกอิน

connect-with-logto.png

  1. คลิกปุ่มนี้ คุณจะถูกเปลี่ยนเส้นทางไปยังหน้าล็อกอินของ Logto

  2. หลังจากคลิกปุ่ม "Connect with Logto" คุณจะถูกเปลี่ยนเส้นทางไปยัง Logto ที่ซึ่งคุณสามารถเข้าสู่ระบบด้วยบัญชีที่มีอยู่แล้ว แล้วคุณจะเห็นหน้าความยินยอมร้องขอการอนุญาตให้แชร์ข้อมูลไปยัง Apache Answer

consent-page.png

  1. หลังจากที่คุณอนุมัติการอนุญาต คุณจะถูกรีดายเรกต์กลับไปยัง Apache Answer และคุณจะเห็นว่าคุณได้เข้าสู่ระบบแล้ว!

answer-dashboard.png

หมายเหตุ: Apache Answer จะตรวจสอบว่าผู้ใช้ที่เข้าสู่ระบบมีอีเมลที่ได้รับการยืนยันหรือไม่ เมื่อผู้ใช้ของคุณไม่มีข้อมูลอีเมล Apache Answer จะขอให้พวกเขาใส่อีเมลเพื่อยืนยัน

ประโยชน์ของการผสานรวมโดยสรุป

ทำไมถึงต้องดำเนินการตามขั้นตอนเหล่านี้? ข้อดีมีมากมาย:

  • ประสบการณ์ของผู้ใช้: นี่คือชัยชนะที่ชัดเจนที่สุด ผู้ใช้ไม่จำเป็นต้องสร้างหรือจำข้อมูลรับรองอีกชุด พวกเขาใช้การเข้าสู่ระบบที่พวกเขาไว้วางใจอยู่แล้ว ทำให้การเข้าใช้งานชุมชนเป็นไปอย่างราบรื่นและปลอดภัย สิ่งนี้ลดข้อแปลงานในเข้าร่วมได้อย่างมาก
  • ประสิทธิภาพการพัฒนา: คุณข้ามความจำเป็นในการสร้างและรักษาการยืนยันตัวตน การลงทะเบียน การรีเซ็ตรหัสผ่าน ฯลฯ ภายใน Apache Answer อย่างสมบูรณ์ คุณใช้ฐานข้อมูลผู้ใช้ Logto ที่มีอยู่ของคุณให้ทันที ปล่อยให้คุณตั้งค่าชุมชนได้เร็วขึ้นอย่างมาก
  • ความปลอดภัย: การรับรองความถูกต้องถูกโยงไปยัง Logto ซึ่งเป็นผู้ให้บริการ IAM ที่เฉพาะทางซึ่งเป็นไปได้ว่าจะจัดการด้านความปลอดภัยเช่นการยืนยันตัวตนแบบหลายขั้นตอน (MFA), นโยบายรหัสผ่าน และการป้องกันการโจมตีที่มากไปกว่าการดำเนินการภายใน Answer เอง คุณพึ่งพามาตรฐาน OIDC ที่เป็นผู้เชี่ยวชาญและผ่านการลองใช้แล้ว
  • มูลค่าผลิตภัณฑ์ & ประสิทธิภาพการสนับสนุน: คุณเพิ่มความสามารถในการสนับสนุนชุมชนที่มีมูลค่าอย่างทันที โดยไม่ต้องแตกแยกการระบุตัวตนของผู้ใช้ อย่างที่ได้เน้นย้ำไว้เมื่อก่อน การรู้ว่าผู้ใช้ของชุมชนเป็นผู้ใช้ของผลิตภัณฑ์ด้วย จะเพิ่มพลังให้กับทีมสนับสนุนของคุณในการให้ความช่วยเหลือที่มีบริบทและมีประสิทธิภาพมากขึ้น ซึ่งเป็นการเพิ่มพอใจและการมีส่วนร่วมของผู้ใช้

บทสรุป

การผสานรวมเครื่องมือ Third-Party เป็นสิ่งสำคัญในการสร้างจักรวาลแอปพลิเคชันที่สมบูรณ์ แต่การจัดการตัวตนของผู้ใช้ผ่านเครื่องมือเหล่านี้สามารถเป็นภาระหนักได้ อย่างที่เราได้สาธิตกับ Apache Answer คุณสมบัติแอปพลิเคชัน Third-Party ของ Logto ให้บรรจบวิธีที่มีประสิทธิภาพและมาตรฐานในการสะพานข้ามช่องว่างนี้

โดยการกำหนดค่า Logto เป็น Identity Provider แบบกลางสำหรับ Apache Answer คุณสามารถ "เปิดใช้งานได้ด้วยคลิกเดียว" ซึ่งจะสร้างพื้นที่ชุมชนเฉพาะให้กับผู้ใช้ที่มีอยู่ของคุณ นำเสนอโครงสร้างล็อกอินที่ไร้รอยต่อและให้ทีมงานของคุณได้รับประโยชน์จากการรวมศูนย์ตัวตนของผู้ใช้

สิ่งที่น่าตื่นเต้นยิ่งกว่าคือรูปแบบนี้ไม่จำกัดเฉพาะแพลตฟอร์ม Q&A แต่สามารถปรับใช้ได้กับแดชบอร์ดวิเคราะห์เครื่องมือการจัดการโครงการ เครื่องมือภายใน และแอปพลิเคชันนับไม่ถ้วน เพื่อให้คุณสามารถสร้างระบบซอฟต์แวร์ที่เสริมอำนาจและใช้งานได้ง่าย

รอคอยบทความต่อๆ ไปที่จะสำรวจการผสานรวมเครื่องมือที่มีประโยชน์อื่นๆ ด้วย Logto!