Skip to content
Merged
Show file tree
Hide file tree
Changes from 48 commits
Commits
Show all changes
49 commits
Select commit Hold shift + click to select a range
005e133
Merge pull request #1 from vufind-org/master
xmorave2 Jun 6, 2016
47bb81f
Merge pull request #2 from vufind-org/master
xmorave2 Jun 30, 2016
642273d
Merge branch 'master' of https://github.com/xmorave2/vufind
xmorave2 Mar 1, 2017
4143961
Merge branch 'master' of https://github.com/xmorave2/vufind
xmorave2 Jun 18, 2018
e7852d1
Open ID Connect implementation
xmorave2 Sep 18, 2018
00b08a6
Open ID Connect: few fixes
xmorave2 Sep 18, 2018
864d5ff
Open ID Connect: Style fixes
xmorave2 Sep 18, 2018
6036fcb
Open ID Connect: Fix Auth factory parenthesis
xmorave2 Sep 18, 2018
e1221c5
Open ID Connect: More style fixes
xmorave2 Sep 18, 2018
adf0152
Open ID Connect: Fix base64 encoding according to RFC 7519
xmorave2 Oct 17, 2018
51f65a6
Merge branch 'master' into OpenIdConnect
demiankatz Feb 6, 2019
c7b88b3
Typo fix.
demiankatz Feb 6, 2019
4e89d6d
Add factory.
demiankatz Feb 6, 2019
9f59c10
Merge branch 'master' into OpenIdConnect
xmorave2 Sep 3, 2019
7f5835a
Merge remote-tracking branch 'vufind-org/master' into OpenIdConnect
xmorave2 Sep 3, 2019
4531dba
OpenIdConnect: Fix style
xmorave2 Sep 3, 2019
73474eb
OpenIdConnect: Remove white spaces
xmorave2 Sep 3, 2019
9bbdd3e
Merge branch 'master' into OpenIdConnect
demiankatz Jan 27, 2020
5e563d8
Merge remote-tracking branch 'origin/master' into OpenIdConnect
xmorave2 Mar 5, 2020
fc33e41
Migrate to Laminas
xmorave2 Mar 5, 2020
9eebcc2
Merge remote-tracking branch 'origin/master' into OpenIdConnect
xmorave2 Jul 1, 2020
f491758
Merge remote-tracking branch 'origin/dev' into OpenIdConnect
xmorave2 Feb 28, 2024
141ba0d
Update code and finish implementation
xmorave2 Feb 29, 2024
d64742d
Fix factory
xmorave2 Feb 29, 2024
27e914d
Make attributes configurable
xmorave2 Mar 14, 2024
2e0bb35
Use local variable for target
xmorave2 Mar 14, 2024
534f800
Remove property target
xmorave2 Mar 18, 2024
5a0ac76
Use Firebase JWT library
xmorave2 Mar 19, 2024
7359586
Handle all possible attributes
xmorave2 Mar 19, 2024
26df711
Update documentation
xmorave2 Mar 19, 2024
0e389f1
Validate provider metadata
xmorave2 Mar 19, 2024
7a4e4d8
Minor comment reorganization.
demiankatz Mar 19, 2024
d8283ac
Merge remote-tracking branch 'origin/dev' into OpenIdConnect
xmorave2 Feb 18, 2025
20d6d57
Rename OpenIDConnect config to OpenIDConnectClient
xmorave2 Feb 18, 2025
d535e36
Make config an array
xmorave2 Feb 18, 2025
9b6b489
Check configValidated in validateConfig method
xmorave2 Feb 18, 2025
78e2e36
Fix QA issues
xmorave2 Feb 18, 2025
117d75a
Add ability to manually set the provider info
xmorave2 Feb 18, 2025
73ddde3
Add ability to prefix username
xmorave2 Feb 18, 2025
0f73904
Add end of file line break.
demiankatz Feb 19, 2025
b616868
Add end of file line break.
xmorave2 Feb 24, 2025
1ef742c
Fix tests and QA
xmorave2 Feb 24, 2025
baf4e7c
Merge branch 'OpenIdConnect' of github.com:xmorave2/vufind into OpenI…
xmorave2 Feb 24, 2025
73f4ece
QA fixes
xmorave2 Feb 26, 2025
4b10e6f
Update coinfiguration
xmorave2 Feb 27, 2025
8c602fd
Fix operator precedence
xmorave2 Feb 27, 2025
bf35880
Try catch for http requests
xmorave2 Feb 27, 2025
5fc5494
Work only with success responses
xmorave2 Feb 27, 2025
dbb993e
Better error handling
xmorave2 Feb 27, 2025
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
22 changes: 22 additions & 0 deletions config/vufind/OpenIDConnectClient.ini
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
; Open ID Connect authentication settings; see the [Authentication] section of config.ini to enable.
[Default]
url = "https://openidconnect.provider.url"
client_id = "your_client_id"
client_secret = "your_client_secret"
; Optional settings of username prefix to ensure unique usernames in case of multiple authentication methods
username_prefix = ""

; Attributes mapping in case of IdP using some non-standard/additional attributes
;attributes[firstname] = given_name
;attributes[lastname] = family_name
;attributes[email] = email

; Provider related settings, some can support automatic discovery using url/.well_known endpoint, if it is not case of
; your OpenID provider, you can set needed configuration manually below
;authorization_endpoint = "https://openidconnect.provider.url/oauth/authorize"
;token_endpoint = "https://openidconnect.provider.url/oauth/token"
; Please note, that VuFind supports only client_secret_basic authentication method
;token_endpoint_auth_methods_supported[] = "client_secret_basic"
;userinfo_endpoint = "https://openidconnect.provider.url/oauth/userinfo"
;issuer = "https://openidconnect.provider.url"
;jwks_uri = "https://openidconnect.provider.url/oauth/jwks"
37 changes: 17 additions & 20 deletions config/vufind/config.ini
Original file line number Diff line number Diff line change
Expand Up @@ -480,11 +480,22 @@ force_first_scheduled_email = false
;scheduled_search_frequencies[7] = schedule_weekly

; This section allows you to determine how the users will authenticate.
; You can use an LDAP directory, the local ILS (or multiple ILSes through
; the MultiILS option), the VuFind database (Database), a hard-coded list of
; access passwords (PasswordAccess), AlmaDatabase (combination
; of VuFind database and Alma account), Shibboleth, SIP2, CAS, Facebook, Email or
; some combination of these (via the MultiAuth or ChoiceAuth options).
[Authentication]
; You can authenticate using one or more of the following methods:
; - AlmaDatabase (combination of VuFind database and Alma account; see also Alma.ini)
; - CAS (see also [CAS] section)
; - Database: VuFind's internal user database
; - Email (see notes below)
; - Facebook (see also [Facebook] section)
; - ILS: the local ILS
; - LDAP: an LDAP directory (see also [LDAP] section)
; - MultiILS: multiple ILSes (see also MultiBackend.ini)
; - OpenIDConnect: Open ID Connect (see also OpenIDConnectClient.ini)
; - PasswordAccess: a hard-coded list of access passwords (see also [PasswordAccess] section)
; - Shibboleth (see also [Shibboleth] section)
; - SimulatedSSO: simulated single sign-on for testing/development (see SimulatedSSO.ini)
; - SIP2 (see also [SIP2] section)
; - some combination of the above (via the MultiAuth or ChoiceAuth options).
;
; The Email method is special; it is intended to be used through ChoiceAuth in
; combination with Database authentication (or any other method that reliably stores
Expand All @@ -497,21 +508,7 @@ force_first_scheduled_email = false
; Also note that the Email method stores hashes in your database's auth_hash table.
; You should run the "php $VUFIND_HOME/public/index.php util expire_auth_hashes"
; utility periodically to clean out old data in this table.
[Authentication]
;method = LDAP
;method = ILS
method = Database
;method = AlmaDatabase
;method = Shibboleth
;method = SIP2
;method = CAS
;method = MultiAuth
;method = ChoiceAuth
;method = MultiILS
;method = Facebook
;method = PasswordAccess
;method = Email
;method = SimulatedSSO ; FOR TESTING ONLY -- see SimulatedSSO.ini
method = Database

; This setting only applies when method is set to ILS. It determines which
; field of the ILS driver's patronLogin() return array is used as the username
Expand Down
Loading