MOD_AUTH_OPENIDC adalah modul otentikasi dan otorisasi OpenID Certified ™ untuk server HTTP APACHE 2.X yang mengimplementasikan fungsionalitas Pihak OpenId Connect Relying.
Modul ini memungkinkan server web Apache 2.x untuk beroperasi sebagai OpenID Connect Relying Party (RP) menuju Penyedia OpenID Connect (OP). Ini menyampaikan otentikasi pengguna akhir ke penyedia dan menerima informasi identitas pengguna dari penyedia tersebut. Kemudian meneruskan informasi identitas itu (alias klaim) ke aplikasi yang dilindungi oleh server web Apache dan membuat sesi otentikasi untuk pengguna yang diidentifikasi.
Konten, aplikasi, dan layanan yang dilindungi dapat di -host oleh server Apache itu sendiri atau dilayani dari server asal yang berada di belakangnya dengan mengkonfigurasi Apache sebagai proxy terbalik di depan server tersebut. Yang terakhir memungkinkan untuk menambahkan otentikasi berbasis OpenId Connect ke aplikasi/layanan/SPA yang ada tanpa memodifikasi aplikasi tersebut, mungkin memigrasi mereka dari mekanisme otentikasi warisan ke tanda OpenID Connect Single On (SSO) berbasis standar.
Secara default, modul menetapkan variabel REMOTE_USER ke klaim id_token [sub] , digabungkan dengan pengidentifikasi penerbit OP ( [sub]@[iss] ). Klaim id_token lainnya disahkan di header HTTP dan/atau variabel lingkungan bersama dengan yang (opsional) yang diperoleh dari titik akhir userInfo. Variabel header dan lingkungan HTTP yang disediakan dapat dikonsumsi oleh aplikasi yang dilindungi oleh server Apache.
Aturan otorisasi berbutir kustom - berdasarkan Apache Require primitif - dapat ditentukan agar sesuai dengan serangkaian klaim yang disediakan dalam klaim id_token / userinfo , lihat di sini. Clustering untuk ketahanan dan kinerja dapat dikonfigurasi menggunakan salah satu opsi backend cache yang didukung seperti yang tercantum di sini.
Untuk ikhtisar lengkap dari semua opsi konfigurasi, lihat file auth_openidc.conf . File ini juga dapat berfungsi sebagai file sertakan untuk httpd.conf .
mod_auth_openidc adalah OpenID Certified ™ dan mendukung spesifikasi berikut:
Dokumentasi dapat ditemukan di wiki (termasuk pertanyaan yang sering diajukan) di:
https://github.com/openidc/mod_auth_openidc/wiki
Untuk pertanyaan, masalah, dan saran menggunakan forum Diskusi GitHub di:
https://github.com/openidc/mod_auth_openidc/discussions
Untuk komersial - berbasis langganan - dukungan dan lisensi silakan hubungi:
[email protected]
Contoh konfigurasi untuk menggunakan Google sebagai penyedia OpenId Connect Anda yang berjalan di www.example.com dan https://www.example.com/example/redirect_uri terdaftar sebagai Redirect_uri untuk klien melalui konsol API Google. Anda juga harus mengaktifkan Google+ API di bawah APIs & auth di konsol 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 > CATATAN Jika Anda ingin membatasi login dengan aman ke domain Google Apps tertentu, Anda tidak hanya akan menambahkan hd=<your-domain> pengaturan ke OIDCAuthRequestParams primitif untuk melewatkan layar pemilih akun Google, tetapi Anda juga harus meminta lingkup email menggunakan OIDCScope dan menggunakan pengaturan otorisasi Require claim di Location primitif dengan:
OIDCScope " openid email "
Require claim hd:< your -domain>Di atas adalah contoh otorisasi dari kecocokan yang tepat dari klaim yang disediakan terhadap nilai string. Untuk lebih banyak opsi otorisasi, lihat halaman Wiki tentang otorisasi.
mod_auth_openidc.so di server Apache AndaAuthType openid-connectOIDCRedirectURI ke URL "kesombongan" di dalam lokasi yang dilindungi oleh mod_auth_openidcOIDCClientID dan OIDCClientSecretOIDCRedirectURI sebagai pengalihan atau panggilan balik URI dengan klien Anda di penyediaOIDCProviderMetadataURL sehingga menunjuk ke metadata penemuan penyedia koneksi openId Anda yang disajikan di titik akhir .well-known/openid-configurationOIDCCryptoPassphrase untuk tujuan enkripsi sesi/negara 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 >Untuk detail tentang mengonfigurasi beberapa penyedia, lihat wiki.
Lihat Wiki untuk Dokumen Konfigurasi untuk Penyedia OpenID Connect Lainnya:
Perangkat lunak ini bersumber terbuka oleh OpenIDC, anak perusahaan Zmartzone Holding BV untuk layanan komersial Anda dapat menghubungi OpenIDC seperti dijelaskan di atas di bagian Dukungan.