MOD_AUTH_OPENIDC เป็นโมดูลการรับรองความถูกต้องและการอนุมัติของ OpenID Certified ™สำหรับเซิร์ฟเวอร์ Apache 2.x HTTP ที่ใช้การเชื่อมต่อ OpenID ที่อาศัยฟังก์ชั่นปาร์ตี้
โมดูลนี้ช่วยให้เว็บเซิร์ฟเวอร์ Apache 2.x ทำงานเป็น OpenID Connect Relying Party (RP) ไปยัง OpenID Connect Provider (OP) มันถ่ายทอดการรับรองความถูกต้องของผู้ใช้ไปยังผู้ให้บริการและรับข้อมูลประจำตัวผู้ใช้จากผู้ให้บริการนั้น จากนั้นจะส่งผ่านข้อมูลประจำตัว (เรียกร้อง) ไปยังแอปพลิเคชันที่ได้รับการปกป้องโดย Apache Web Server และสร้างเซสชันการตรวจสอบสิทธิ์สำหรับผู้ใช้ที่ระบุ
เนื้อหาแอปพลิเคชันและบริการที่ได้รับการป้องกันสามารถโฮสต์โดย Apache Server เองหรือเสิร์ฟจาก Origin Server ที่อยู่ด้านหลังโดยการกำหนดค่า Apache เป็นพร็อกซีย้อนกลับด้านหน้าเซิร์ฟเวอร์เหล่านั้น หลังอนุญาตให้เพิ่มการรับรองความถูกต้องตาม OpenID Connect ไปยังแอปพลิเคชัน/บริการ/สปาที่มีอยู่โดยไม่ต้องแก้ไขแอปพลิเคชันเหล่านั้นอาจย้ายออกจากกลไกการตรวจสอบความถูกต้องแบบดั้งเดิมไปยัง OpenID Connect Single Single On (SSO)
โดยค่าเริ่มต้นโมดูลจะตั้งค่าตัวแปร REMOTE_USER เป็นการเรียกร้อง id_token [sub] ซึ่งเชื่อมต่อกับตัวระบุผู้ออกของ OP ( [sub]@[iss] ) การเรียกร้อง id_token อื่น ๆ จะถูกส่งผ่านในส่วนหัว HTTP และ/หรือตัวแปรสภาพแวดล้อมพร้อมกับที่ได้รับจากจุดสิ้นสุดของผู้ใช้ ส่วนหัว HTTP และตัวแปรสภาพแวดล้อมที่ให้ไว้สามารถใช้งานได้โดยแอปพลิเคชันที่ได้รับการปกป้องโดยเซิร์ฟเวอร์ Apache
กฎการอนุมัติการอนุมัติแบบละเอียดที่กำหนดเอง - ขึ้นอยู่กับ Require ของ Apache - สามารถระบุได้เพื่อให้ตรงกับชุดของการเรียกร้องที่มีให้ในการเรียกร้อง id_token / userinfo ดูที่นี่ การจัดกลุ่มเพื่อความยืดหยุ่นและประสิทธิภาพสามารถกำหนดค่าได้โดยใช้หนึ่งในตัวเลือกแบ็กเอนด์แคชที่รองรับตามที่ระบุไว้ที่นี่
สำหรับภาพรวมที่สมบูรณ์ของตัวเลือกการกำหนดค่าทั้งหมดให้ดูที่ไฟล์ auth_openidc.conf ไฟล์นี้ยังสามารถใช้เป็นไฟล์รวมสำหรับ httpd.conf
MOD_AUTH_OPENIDC ได้รับการรับรองจาก OpenID และรองรับข้อมูลจำเพาะต่อไปนี้:
เอกสารสามารถพบได้ที่ wiki (รวมถึงคำถามที่พบบ่อย) ที่:
https://github.com/openidc/mod_auth_openidc/wiki
สำหรับคำถามปัญหาและข้อเสนอแนะใช้ฟอรัมการอภิปราย GitHub ที่:
https://github.com/openidc/mod_auth_openidc/discussions
สำหรับเชิงพาณิชย์ - การสมัครสมาชิก - การสนับสนุนและการออกใบอนุญาตกรุณาติดต่อ:
[email protected]
การกำหนดค่าตัวอย่างสำหรับการใช้ Google เป็นผู้ให้บริการ OpenID Connect ของคุณที่ทำงานบน www.example.com และ https://www.example.com/example/redirect_uri ลงทะเบียนเป็น Redirect_uri สำหรับลูกค้าผ่านคอนโซล Google API คุณจะต้องเปิดใช้งาน Google+ API ภายใต้ APIs & auth ในคอนโซล Google API
OIDCProviderMetadataURL https://accounts.google.com/.well-known/openid-configuration
OIDCClientID < your -client-id-administered-through-the-google-api-console>
OIDCClientSecret < your -client-secret-administered-through-the-google-api-console>
# OIDCRedirectURI is a vanity URL that must point to a path protected by this module but must NOT point to any content
OIDCRedirectURI https://www.example.com/example/redirect_uri
OIDCCryptoPassphrase < password >
< Location /example/>
AuthType openid-connect
Require valid-user
</ Location > หมายเหตุหากคุณต้องการ จำกัด การเข้าสู่ระบบอย่างปลอดภัยในโดเมน Google Apps ที่เฉพาะเจาะจงคุณไม่เพียง แต่เพิ่ม hd=<your-domain> การตั้งค่าไปยัง OIDCAuthRequestParams ดั้งเดิมสำหรับการข้ามหน้าจอตัวเลือกบัญชี Google แต่คุณต้อง Require claim Location email โดยใช้ OIDCScope
OIDCScope " openid email "
Require claim hd:< your -domain>ข้างต้นเป็นตัวอย่างการอนุญาตของการจับคู่ที่แน่นอนของการเรียกร้องที่ให้กับค่าสตริง สำหรับตัวเลือกการอนุญาตเพิ่มเติมโปรดดูหน้า Wiki เกี่ยวกับการอนุญาต
mod_auth_openidc.so ในเซิร์ฟเวอร์ apache ของคุณAuthType openid-connectOIDCRedirectURI เป็น url "โต๊ะเครื่องแป้ง" ภายในตำแหน่งที่ได้รับการปกป้องโดย mod_auth_openidcOIDCClientID และ OIDCClientSecret ตามลำดับOIDCRedirectURI เป็นการเปลี่ยนเส้นทางหรือการโทรกลับ URI กับลูกค้าของคุณที่ผู้ให้บริการOIDCProviderMetadataURL ดังนั้นมันชี้ไปที่ข้อมูลเมตาการค้นพบของผู้ให้บริการ OpenID Connect ของคุณที่ให้บริการบนจุดสิ้นสุด .well-known/openid-configurationOIDCCryptoPassphrase สำหรับวัตถุประสงค์เซสชัน/สถานะการเข้ารหัส LoadModule auth_openidc_module modules/mod_auth_openidc.so
OIDCProviderMetadataURL < issuer >/.well-known/openid-configuration
OIDCClientID < client _id>
OIDCClientSecret < client _secret>
# OIDCRedirectURI is a vanity URL that must point to a path protected by this module but must NOT point to any content
OIDCRedirectURI https://< hostname >/secure/redirect_uri
OIDCCryptoPassphrase < password >
< Location /secure>
AuthType openid-connect
Require valid-user
</ Location >สำหรับรายละเอียดเกี่ยวกับการกำหนดค่าผู้ให้บริการหลายรายดูวิกิ
ดู Wiki สำหรับเอกสารการกำหนดค่าสำหรับผู้ให้บริการ OpenID Connect อื่น ๆ :
ซอฟต์แวร์นี้เปิดโดย OpenIDC ซึ่งเป็น บริษัท ย่อยของ Zmartzone Holding BV สำหรับบริการเชิงพาณิชย์คุณสามารถติดต่อ OpenIDC ตามที่อธิบายไว้ข้างต้นในส่วนการสนับสนุน