คู่มือสมบูรณ์ในการผนวกรวม OIDC เซิร์ฟเวอร์เข้ากับโปรเจคของคุณ
เรียนรู้แนวปฏิบัติที่ดีที่สุดในการผนวกรวม OIDC (OpenID Connect) เซิร์ฟเวอร์เข้ากับโปรเจคของคุณและทำความเข้าใจว่าคอมโพเนนต์ต่างๆ ทำงานร่วมกันบนเวทีอย่างไร
คุณอาจพบสถานการณ์ที่คุณต้องการระบบการสืบค้นตัวตนและการอนุญาตแบบศูนย์กลาง หรือที่เรียกกันว่า Identity Access Management (IAM) หรือ Identity Provider (IdP) บางครั้งคนจะเพิ่มคำเข้ามาเพื่อระบุธุรกิจ เช่น Customer IAM และ Workforce IAM
มาปล่อยชื่อสุดหรูเหล่านี้ไปสักครู่ ความต้องการในด้าน IAM อาจเกิดขึ้นเพราะแอปพลิเคชันของคุณกำลังเติบโต หรือคุณวางแผนที่จะมอบหมายงานที่ยุ่งยากให้กับผู้ให้บริการตั้งแต่เริ่มต้น อย่างไรก็ตาม คุณกำลังมาถึงจุดที่ระบบตัวตนจะต้องถูกนำเสนอในโปรเจคของคุณ
พิจารณาจากความนิยมของ OAuth 2.0, OpenID Connect (OIDC) จึงเป็นทางเลือกที่เป็นธรรมชาติสำหรับนักพัฒนาหลายๆ คน เนื่องจาก OIDC เป็นเลเยอร์การสืบค้นตัวตนที่ถูกสร้างขึ้นบน OAuth 2.0 คุณอาจรู้สึกคุ้นเคยเมื่อเริ่มทำงานกับ OIDC มากขึ้น มาเริ่มต้นกันเลย!
OIDC เซิร์ฟเวอร์คืออะไร และทำไมฉันควรผนวกรวม OIDC เซิร์ฟเวอร์?
OIDC เซิร์ฟเวอร์ หรือ Identity Provider เป็นระบบศูนย์กลางที่จัดการความปลอดภัยในการยืนยันตัวตนและการให้สิทธิ์เข้าถึงของผู้ใช้ ตามที่เราได้กล่าวถึงใน ทำไมคุณต้องมีระบบตัวตนแบบศูนย์กลางสำหรับธุรกิจหลายแอป ระบบตัวตนแบบศูนย์กลางมีประโยชน์หลายประการ
สมมติว่าปรเจคของคุณเริ่มต้นด้วยเว็บแอปพลิเคชันที่เรียบง่าย และมีการสืบค้นตัวตนในตัว:
เมื่อปรเจคของคุณเติบโตขึ้น คุณต้องแนะนำเวอร์ชั่นมือถือ:
มันจะเป็นประสบการณ์ที่ไม่ดีสำหรับผู้ใช้หากพวกเขาต้องสร้างบัญชีสำหรับแต่ละแอปพลิเคชัน เนื่องจากคุณเริ่มต้นด้วยเว็บแอปพลิเคชัน คุณให้แอปพลิเคชันมือถือสื่อสารกับเว็บแอปพลิเคชันสำหรับการสืบค้นตัวตน:
ตอนนี้ บริการ API ใหม่กำลังถูกนำเสนอ เนื่องจากเป็นบริการสำหรับผู้ใช้ที่มีการชำระเงิน คุณต้องทำให้แน่ใจว่าผู้ใช้ได้สืบค้นตัวตนและได้รับสิทธิ์เข้าถึงบริการได้อย่างถูกต้อง เพื่อบรรลุเป้าหมายนี้ คุณสามารถสร้างพร็อกซีให้บริการผ่านเว็บแอปพลิเคชัน:
หรือ ใช้เทคนิคโทเค็นบางชนิดในการสืบค้นตัวตนของผู้ใช้ และตรวจสอบความถูกต้องของโทเค็นด้วยการติดต่อกับเว็บแอปพลิเคชันในบริการ ดังนั้นแอปพลิเคชันมือถือสามารถใช้บริการได้โดยตรง:
สิ่งต่างๆ กำลังวุ่นวาย ดังนั้นคุณตัดสินใจที่จะแยกการสืบค้นตัวตนและการให้สิทธิ์เข้าถึงไปเป็นบริการที่แยกออกมา:
กระบวนการรีแฟกเตอร์สามารถเป็นการเจ็บปวด คุณอาจสังเกตเห็นว่าความซับซ้อนของมันจะเพิ่มขึ้นอย่างรวดเร็วเมื่อคุณเพิ่มแอปพลิเคชันและบริการในโปรเจคมากขึ้น ยิ่งแย่ไปกว่านั้น คุณอาจต้องรักษาวิธีการสืบค้นตัวตนหลากหลายรูปแบบ เช่น การเข้าสู่ระบบโดยไม่ใช้รหัสผ่าน, การเข้าสู่ระบบโซเชียล, SAML เป็นต้น
นี่คือเหตุผลว่าทำไมน่าจะดีกว่าหากเราแนะนำ Identity Provider ต้นเมื่อคุณมีแผนที่จะขยายโปรเจคของคุณขึ้น