Logto ในการปฏิบัติ: การผสานรวม Apache Answer เพื่อเปิดชุมชนให้ผู้ใช้ของคุณสามารถเข้าถึงได้อย่างราบรื่น
แสดงให้เห็นถึงวิธีใช้คุณสมบัติแอป 3rd-party ของ Logto เพื่อบูรณาการ Apache Answer สร้างแพลตฟอร์มชุมชนแบบรวมศูนย์ที่ผู้ใช้สามารถเข้าถึงการสนับสนุนได้โดยไม่ต้องสร้างบัญชีใหม่
การสร้างผลิตภัณฑ์ซอฟต์แวร์ที่ดีเป็นความสำเร็จที่ยิ่งใหญ่ แต่จริงๆ แล้วเป็นเพียงจุดเริ่มต้นของการเดินทาง
ความสำเร็จในระยะยาวและการพัฒนาของแอปพลิเคชันใดๆ ขึ้นอยู่กับการทำความเข้าใจและการมีส่วนร่วมของผู้ใช้ ซึ่งรวมถึงการรวบรวมข้อเสนอแนะ การระบุจุดบกพร่อง การตอบคำถาม และการแก้ปัญหา —— วงจรสำคัญที่ขับเคลื่อนการพัฒนาและปรับปรุง
ในบทความนี ้ ฉันจะ:
- อธิบายวิธีการทำงานของคุณสมบัติแอปพลิเคชัน Third-Party ของ Logto (OIDC)
- แสดงวิธีใช้ Logto สำหรับการผสานรวม Apache Answer เพื่อสร้างชุมชนให้ผู้ใช้ของคุณสามารถถามคำถาม แบ่งปันไอเดีย และขอความช่วยเหลือจากทีมงานของคุณและผู้ใช้อื่นๆ ได้
จุดเด่นของการใช้ Logto คือผู้ใช้ลงชื่อเข้าใช้ชุมชนด้วยบัญชีเดียวกันกับระบบของคุณ ซึ่งช่วยให้คุณสามารถทราบสถานะปัจจุบันของผู้ที่ถามคำถามได้ง่ายขึ้น หมดความจำเป็นในการถามตอบไปกลับหลายครั้งเพื่อทราบสถานการณ์ในซอฟต์แวร์ของคุณ
Apache Answer คืออะไร
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
ก่อนที่จะลงลึกในรายละเอียดเกี่ยวกับการตั้งค่า ม าทำความเข้าใจเกี่ยวกับส่วนประกอบที่เกี่ยวข้องในสถานการณ์ของเรากัน:
- YourApp: นี่คือแอปพลิเคชันเว็บหรือมือถือหลักของคุณที่ผู้ใช้ได้ลงทะเบียนและเข้าสู่ระบบแล้ว สำคัญที่สุดคือ YourApp ได้รวมเข้ากับ Logto สำหรับการยืนยันตัวตน
- Logto: แพลตฟอร์ม IAM กลางของคุณ ทำหน้าที่เป็น IdP ผู้ใช้ของคุณมีบัญชีที่จัดการโดย Logto
- Apache Answer: แพลตฟอร์ม Q&A แบบโอเพนซอร์สที่คุณต้องการนำไปใช้เป็นศูนย์กลางชุมชนสำหรับผู้ใช้ของ YourApp เป้าหมายของเราคือการกำหนดค่า Answer ให้ใช้ Logto แทนการเข้าสู่ระบบสตันท้องถิ่นของมันเอง
ขั้นตอนปฏิบัติ: กำหนดค่า Logto และ Apache Answer
ตอนนี้มาลงมือทำกัน การดำเนินการนี้ประกอบด้วยการตั้งค่าท ั้งใน Logto และ Apache Answer
ติดตั้ง Apache Answer
ทำตาม คู่มือการติดตั้งอย่างเป็นทางการ เพื่อทำการติดตั้ง Apache Answer และสุดท้ายคุณสามารถเข้าถึงมันได้ที่ http://localhost:9080
ตามค่าเริ่มต้น
สร้างแอปพลิเคชัน OIDC ใน Logto
- ลงชื่อเข้าใช้ Logto Console ของคุณ
- ไปที่หน้าของแอปพลิเคชัน
- คลิกที่ปุ่ม "Create application" ที่มุมบนขวาของหน้า (หากคุณไม่เห็นปุ่มนี้ ให้คลิก "view all" ที่ด้านล่างของรายการเฟรมเวิร์ค)
- เลือกหมวดหมู่ "Third party application" จากนั้นเลือก "OIDC"
- ป้อนชื่อแอปพลิเคชัน (เช่น "Apache Answer Community") และคำอธิบาย (ไม่บังคับ)
- คลิก "Create" เพื่อเสร็จสิ้นการสร้างแอปพลิเคชัน หลังจากสร้างแอปพลิเคชัน คุณจะถูกนำไปยังหน้ารายละเอียดแอปพลิเคชัน
- ในหน้ารายละเอียด ให้เพิ่ม
http://localhost:9080/answer/api/v1/connector/redirect/basic
ไปยังฟิลด์ Redirect URI - คลิก "Save" เพื่อบันทึกแอปพลิเคชัน
กำหนดค่าการอนุญาตสำหรับ Apache Answer
- ในหน้ารายละเอียดแอปพลิเคชัน ไปที่แท็บ Permissions
- ภายใต้ Grant permissions of user data คุณจะเห็นข้อความ "You don't have any grant permissions of user data set up yet."
- คลิกปุ่ม Add เพื่อกำหนดค่าข้อมูลผู้ใช้ที่ Apache Answer สามารถเข้าถึงได้
- เลือก Scopes ที่จำเป็น (
profile
และemail
) เพื่ออนุญาตให้ Apache Answer รับข้อมูลผู้ใช้พื้นฐานเมื่อเข้าสู่ระบบ - บันทึกการตั้งค่าการอนุญาตของคุณ
กำหนดค่าการเข้าสู่ระบบ OAuth ใน Apache Answer
- เข้าสู่ระบบ Apache Answer ของคุณด้วยบัญชีผู้ดูแลระบบ
- ไปที่แดชบอร์ด Admin ที่
http://localhost:9080/admin
- ไปที่ Plugins -> Installed Plugins และเปิดใช้งานปลั๊กอิน OAuth2 Basic
- ไปที่หน้า OAuth2 Basic ของปลั๊กอิน
- เติมข้อมูลตามแอปพลิเคชัน 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
- Save การกำหนดค่าของปลั๊กอินใน Apache Answer
หมายเหตุ: ต้องแน่ใจว่าได้รวม scope openid
ซึ่งจำเป็นตามมาตรฐาน OIDC ในการดึงข้อมูลผู้ใช้จาก User JSON URL เนื่องจากแอปพลิเคชัน Third-Party ของ Logto ใช้คุณสมบัตินี้ตาม OIDC ในขณะที่ปลั๊กอินของ Apache Answer ใช้ OAuth 2.0 scope นี้จึงจำเป็นเพื่อให้การตรวจสอบถูกต้องระหว่างทั้งสองระบบ
จุดตรวจสอบ: ทดสอบการผสานรวม
เมื่อ Logto และ Apache Answer ถูกกำหนดค่าแล้ว มาดูประสบการณ์ของผู้ใช้ที่ไร้รอยต่อ:
- เยี่ยมชม Apache Answer ของคุณ คุณจะเห็นปุ่ม "Connect with Logto" บนหน้าล็อกอิน
-
คลิกปุ่มนี้ คุณจะถูกเปลี่ยนเส้นทางไปยังหน้าล็อกอินของ Logto
-
หลังจากคลิกปุ่ม "Connect with Logto" คุณจะถูกเปลี่ยนเส้นทางไปยัง Logto ที่ซึ่งคุณสามารถเข้าสู่ระบบด้วยบัญชีที่มีอยู่แล้ว แล้วคุณจะเห็นหน้าความยินยอมร้องขอการอนุญาตให้แชร์ข้อมูลไปยัง Apache Answer
- หลังจากที่คุณอนุมัติการอนุญาต คุณจะถูกรีดายเรกต์กลับไปยัง Apache Answer และคุณจะเห็นว่าคุณได้เข้าสู่ระบบแล้ว!
หมายเหตุ: 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!