Skip to content
Open
Show file tree
Hide file tree
Changes from 4 commits
Commits
Show all changes
60 commits
Select commit Hold shift + click to select a range
71379da
Use config array instead of object for Auth plugins
rtloftus Sep 3, 2026
5c0a492
composer fix
rtloftus Sep 3, 2026
de19999
update test
rtloftus Sep 3, 2026
8980019
logintokenmanagertest
rtloftus Sep 3, 2026
242c25a
logintokenmanagertest
rtloftus Sep 8, 2026
7e21c77
emailauthenticatortest
rtloftus Sep 8, 2026
1a65b99
managertest
rtloftus Sep 8, 2026
1d8746b
managerfactory
rtloftus Sep 8, 2026
d356131
logintokenmanagerfactory
rtloftus Sep 8, 2026
28cf6b4
emailauthenticatorfactory
rtloftus Sep 8, 2026
24f412d
manager
rtloftus Sep 8, 2026
af668be
emailauthenticator
rtloftus Sep 8, 2026
9abba25
logintokenmanager
rtloftus Sep 8, 2026
f165d99
almadatabase
rtloftus Sep 8, 2026
68e998c
Use config array instead of object in OAI Server code (#5614)
rtloftus Sep 3, 2026
e81a514
Use config array instead of object in OpenURL view helper (#5616)
rtloftus Sep 4, 2026
f519c7e
Use config array instead of object in AccountCapabilities service (#5…
rtloftus Sep 4, 2026
ed4e014
Eliminate use of intval in ProxyURL view helper (#5619)
rtloftus Sep 4, 2026
8775658
Eliminate dependency on slm/locale. (#5624)
EreMaijala Sep 7, 2026
e8e53a2
RateLimiter: Add minimal text to the Turnstile challenge page (#5618)
maccabeelevine Sep 7, 2026
69c0c60
Add unit tests for Collections browse actions. (#5633)
3pleX-dev Sep 7, 2026
44cb3de
Fix bug: language globals must initialize after language detection. (…
demiankatz Sep 7, 2026
3d01265
Fix last search links (#5634)
ThoWagen Sep 7, 2026
02510d8
Don't update browser url when navigating tabs in search results (#5518)
dennmuel Sep 7, 2026
2ffc761
Test that embedded tabs do not change URL inappropriately. (#5602)
demiankatz Sep 7, 2026
87338ac
Make result backendId nullable (#5632)
ThoWagen Sep 8, 2026
6a3eba5
Bump eslint-plugin-jsdoc from 64.2.1 to 64.3.5 (#5629)
dependabot[bot] Sep 8, 2026
170e81e
Bump globals from 17.11.0 to 17.12.0 (#5630)
dependabot[bot] Sep 8, 2026
d122970
Bump phpstan/phpstan from 2.2.9 to 2.2.13 (#5628)
dependabot[bot] Sep 8, 2026
0dd88d7
Bump friendsofphp/php-cs-fixer from 3.95.23 to 3.95.24 (#5625)
dependabot[bot] Sep 8, 2026
4d7f3e4
Use config array instead of object for Relais view helper (#5623)
rtloftus Sep 8, 2026
c33c539
Use config array instead of object for CSP header generator (#5622)
rtloftus Sep 8, 2026
d949534
Bump monolog/monolog from 3.10.0 to 3.11.0 (#5627)
dependabot[bot] Sep 8, 2026
41ef080
Bump libphonenumber-js from 1.13.8 to 1.13.11 (#5492)
dependabot[bot] Sep 8, 2026
960caa4
Use config array instead of object for Auth Utils (#5637)
rtloftus Sep 8, 2026
50f8329
Add unit tests for Collections index browse. (#5636)
3pleX-dev Sep 9, 2026
441f7da
Use config array instead of object for Session Handlers (#5640)
rtloftus Sep 9, 2026
d01cbb7
Refactor ErrorController to actions. (#5533)
EreMaijala Sep 9, 2026
861a889
Add Mink test for System/available setting. (#5650)
demiankatz Sep 9, 2026
3b97a93
Fix upgrading in subdirectories (#5649)
ThoWagen Sep 9, 2026
7c7546f
Bump stripe/stripe-php from 21.0.0 to 21.3.1 (#5626)
dependabot[bot] Sep 9, 2026
67f63f8
Fix stale refreshOnClose when lightbox is closed (#5647)
maccabeelevine Sep 9, 2026
101a171
Fix arbitrary attributes flag in script rendering (#5648)
maccabeelevine Sep 9, 2026
efc5f44
Use config array instead of object for WorldCat2 BackendFactory (#5621)
rtloftus Sep 9, 2026
576ac47
KohaRest: Fix status message code check for NotForLoan or Lost status…
EreMaijala Sep 9, 2026
ccea50b
Use config array instead of object on Sitemap Generator (#5641)
rtloftus Sep 9, 2026
305b4eb
Use config array instead of object for ContentPages Sitemap plugin (#…
rtloftus Sep 9, 2026
25a4688
Use config array instead of object on ResolverLinks and SystemStatus …
rtloftus Sep 9, 2026
488570d
Use config array instead of object for SimilarBuilder Backend module …
rtloftus Sep 9, 2026
43622d2
Use config array instead of object for LibGuidesProfile Recommend mod…
rtloftus Sep 9, 2026
189323d
Use config array instead of object for Facet Search Params (#5639)
rtloftus Sep 10, 2026
d61fd64
Use config array instead of object for Consortial VuFind Recommend mo…
rtloftus Sep 10, 2026
6407fde
Add new translation key/string pair for export format and update obso…
kouralex Sep 10, 2026
d98e35c
Use config array instead of object for Facet Recommend modules (#5645)
rtloftus Sep 10, 2026
c5797d9
Use config array instead of object for I18n module (#5638)
rtloftus Sep 10, 2026
872e4c2
Use config array instead of value in Interval Captcha module (#5655)
rtloftus Sep 10, 2026
9d4a7d6
update manager setConfig func
rtloftus Sep 10, 2026
fd4430a
Merge branch 'dev' into abstract-base-auth
rtloftus Sep 10, 2026
6af3049
wrap setConfig
rtloftus Sep 10, 2026
1a62470
wrapped setconfig to array
rtloftus Sep 10, 2026
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
11 changes: 5 additions & 6 deletions module/VuFind/src/VuFind/Auth/AbstractBase.php
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ abstract class AbstractBase implements
/**
* Configuration settings.
*
* @var \VuFind\Config\Config
* @var array

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This needs to be nullable since it's initialized to null.

Suggested change
* @var array
* @var ?array

*/
protected $config = null;

Expand Down Expand Up @@ -101,7 +101,7 @@ abstract class AbstractBase implements
* exception if the configuration is invalid.
*
* @throws AuthException
* @return \VuFind\Config\Config
* @return array

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This should also be nullable to match the property.

Suggested change
* @return array
* @return ?array

*/
public function getConfig()
{
Expand Down Expand Up @@ -145,7 +145,7 @@ public function clearLoginState()
/**
* Set configuration.
*
* @param \VuFind\Config\Config $config Configuration to set
* @param array $config Configuration to set

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Probably makes sense to make this consistent with the getter.

Suggested change
* @param array $config Configuration to set
* @param ?array $config Configuration to set

*
* @return void
*/
Expand Down Expand Up @@ -450,9 +450,8 @@ public function getPolicyConfig(string $type): array
{
$policy = [];
$config = $this->getConfig();
$authConfig = isset($config->Authentication)
? $config->Authentication->toArray()
: [];
$authConfig = $config['Authentication']
?? [];
Comment on lines +453 to +454

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This fits on a single line now:

Suggested change
$authConfig = $config['Authentication']
?? [];
$authConfig = $config['Authentication'] ?? [];

/* Map settings to the policy array, e.g.:
*
* password_minimum_length or username_minimum_length => minLength
Expand Down
2 changes: 1 addition & 1 deletion module/VuFind/src/VuFind/Auth/AuthInterface.php
Original file line number Diff line number Diff line change
Expand Up @@ -71,7 +71,7 @@ public function clearLoginState();
/**
* Set configuration.
*
* @param \VuFind\Config\Config $config Configuration to set
* @param array $config Configuration to set

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Need to make this consistent with AbstractBase:

Suggested change
* @param array $config Configuration to set
* @param ?array $config Configuration to set

*
* @return void
*/
Expand Down
8 changes: 4 additions & 4 deletions module/VuFind/src/VuFind/Auth/ChoiceAuth.php
Original file line number Diff line number Diff line change
Expand Up @@ -107,8 +107,8 @@ public function __construct(\Laminas\Session\Container $container)
protected function validateConfig()
{
if (
!isset($this->config->ChoiceAuth->choice_order)
|| !strlen($this->config->ChoiceAuth->choice_order)
!isset($this->config['ChoiceAuth']['choice_order'])
|| !strlen($this->config['ChoiceAuth']['choice_order'])
Comment on lines +110 to +111

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This can be simplified:

Suggested change
!isset($this->config['ChoiceAuth']['choice_order'])
|| !strlen($this->config['ChoiceAuth']['choice_order'])
!strlen($this->config['ChoiceAuth']['choice_order'] ?? '')

) {
throw new AuthException(
'One or more ChoiceAuth parameters are missing. ' .
Expand All @@ -120,7 +120,7 @@ protected function validateConfig()
/**
* Set configuration; throw an exception if it is invalid.
*
* @param \VuFind\Config\Config $config Configuration to set
* @param $config Configuration to set

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Type got lost here:

Suggested change
* @param $config Configuration to set
* @param ?array $config Configuration to set

*
* @throws AuthException
* @return void
Expand All @@ -130,7 +130,7 @@ public function setConfig($config)
parent::setConfig($config);
$this->strategies = array_map(
'trim',
explode(',', $this->getConfig()->ChoiceAuth->choice_order)
explode(',', $this->getConfig()['ChoiceAuth']['choice_order'])
);
}

Expand Down
14 changes: 7 additions & 7 deletions module/VuFind/src/VuFind/Auth/EmailAuthenticator.php
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ class EmailAuthenticator implements \VuFind\I18n\Translator\TranslatorAwareInter
* @param \VuFind\Mailer\Mailer $mailer Mailer
* @param PhpRenderer $viewRenderer View Renderer
* @param UserIpReader $userIpReader User IP address reader
* @param \VuFind\Config\Config $config Configuration
* @param array $config Configuration
* @param AuthHashServiceInterface $authHashService AuthHash database service
*/
public function __construct(
Expand All @@ -79,7 +79,7 @@ public function __construct(
protected \VuFind\Mailer\Mailer $mailer,
protected PhpRenderer $viewRenderer,
protected UserIpReader $userIpReader,
protected \VuFind\Config\Config $config,
protected array $config,
protected AuthHashServiceInterface $authHashService
) {
}
Expand Down Expand Up @@ -113,7 +113,7 @@ public function sendAuthenticationLink(
$templateParams = []
) {
// Make sure we've waited long enough
$recoveryInterval = $this->config->Authentication->recover_interval ?? 60;
$recoveryInterval = $this->config['Authentication']['recover_interval'] ?? 60;
$sessionId = $this->sessionManager->getId();

if (
Expand Down Expand Up @@ -145,7 +145,7 @@ public function sendAuthenticationLink(
$viewParams['url'] = $serverHelper(
$urlHelper($linkRoute, $routeParams, ['query' => $urlParams])
);
$viewParams['title'] = $this->config->Site->title;
$viewParams['title'] = $this->config['Site']['title'];

$message = $this->viewRenderer->render($template, $viewParams);
$from = $this->getEmailSenderAddress($this->config, $email);
Expand Down Expand Up @@ -236,7 +236,7 @@ public function sendAuthenticationCode(
$templateParams = []
): int {
// Make sure we've waited long enough
$recoveryInterval = $this->config->Authentication->recover_interval ?? 60;
$recoveryInterval = $this->config['Authentication']['recover_interval'] ?? 60;
$sessionId = $this->sessionManager->getId();

if (
Expand All @@ -260,7 +260,7 @@ public function sendAuthenticationCode(

$viewParams = $templateParams;
$viewParams['code'] = $otp;
$viewParams['title'] = $this->config->Site->title ?? '';
$viewParams['title'] = $this->config['Site']['title'] ?? '';

$message = $this->viewRenderer->render($template, $viewParams);
$from = $this->getEmailSenderAddress($this->config, $email);
Expand Down Expand Up @@ -310,7 +310,7 @@ public function verifyAuthenticationCode(
throw $e;
}
// Check the maximum attempt limit:
$maxAttempts = max($this->config->Authentication->otp_max_attempts ?? 3, 1);
$maxAttempts = max($this->config['Authentication']['otp_max_attempts'] ?? 3, 1);
if ($attempts > $maxAttempts) {
throw new AuthException('authentication_error_expired');
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public function __invoke(
$container->get(\VuFind\Mailer\Mailer::class),
$container->get('ViewRenderer'),
$container->get(\VuFind\Net\UserIpReader::class),
$container->get(\VuFind\Config\ConfigManagerInterface::class)->getConfigObject('config'),
$container->get(\VuFind\Config\ConfigManagerInterface::class)->getConfigArray('config'),
$container->get(\VuFind\Db\Service\PluginManager::class)
->get(\VuFind\Db\Service\AuthHashServiceInterface::class)
);
Expand Down
15 changes: 7 additions & 8 deletions module/VuFind/src/VuFind/Auth/LoginTokenManager.php
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,6 @@
use Laminas\Session\SessionManager;
use Laminas\View\Renderer\RendererInterface;
use Psr\Log\LoggerAwareInterface;
use VuFind\Config\Config;
use VuFind\Config\Feature\EmailSettingsTrait;
use VuFind\Cookie\CookieManager;
use VuFind\Db\Entity\UserEntityInterface;
Expand Down Expand Up @@ -104,7 +103,7 @@ class LoginTokenManager implements LoggerAwareInterface, TranslatorAwareInterfac
/**
* LoginToken constructor.
*
* @param Config $config Configuration
* @param array $config Configuration
* @param UserServiceInterface $userService User database service
* @param LoginTokenServiceInterface $loginTokenService Login Token database service
* @param CookieManager $cookieManager Cookie manager
Expand All @@ -114,7 +113,7 @@ class LoginTokenManager implements LoggerAwareInterface, TranslatorAwareInterfac
* @param callable $browscapCB Callback for creating Browscap
*/
public function __construct(
protected Config $config,
protected array $config,
protected UserServiceInterface $userService,
protected LoginTokenServiceInterface $loginTokenService,
protected CookieManager $cookieManager,
Expand Down Expand Up @@ -273,7 +272,7 @@ public function deleteUserLoginTokens($userId)
*/
public function getCookieLifetime(): int
{
return (int)($this->config->Authentication->persistent_login_lifetime ?? 14);
return (int)($this->config['Authentication']['persistent_login_lifetime'] ?? 14);
}

/**
Expand Down Expand Up @@ -332,7 +331,7 @@ protected function createOrRotateToken(
$userId = $user->getId();
try {
if ($series) {
$lenient = ($this->config->Authentication->lenient_token_rotation ?? true);
$lenient = ($this->config['Authentication']['lenient_token_rotation'] ?? true);
$this->loginTokenService->deleteBySeries($series, $lenient ? $currentTokenId : null);
$this->debug("Updating login token $token series $series for user {$userId}");
} else {
Expand Down Expand Up @@ -364,16 +363,16 @@ protected function createOrRotateToken(
*/
protected function sendLoginTokenWarningEmail(UserEntityInterface $user)
{
if (!($this->config->Authentication->send_login_warnings ?? true)) {
if (!($this->config['Authentication']['send_login_warnings'] ?? true)) {
return;
}
$title = $this->config->Site->title ?? '';
$title = $this->config['Site']['title'] ?? '';
if ($toAddr = $user->getEmail()) {
$message = $this->viewRenderer->render(
'Email/login-warning.phtml',
compact('title')
);
$subject = $this->config->Authentication->persistent_login_warning_email_subject
$subject = $this->config['Authentication']['persistent_login_warning_email_subject']
?? 'persistent_login_warning_email_subject';

try {
Expand Down
2 changes: 1 addition & 1 deletion module/VuFind/src/VuFind/Auth/LoginTokenManagerFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -82,7 +82,7 @@ public function __invoke(

$dbServiceManager = $container->get(\VuFind\Db\Service\PluginManager::class);
return new $requestedName(
$container->get(\VuFind\Config\ConfigManagerInterface::class)->getConfigObject('config'),
$container->get(\VuFind\Config\ConfigManagerInterface::class)->getConfigArray('config'),
$dbServiceManager->get(UserServiceInterface::class),
$dbServiceManager->get(LoginTokenServiceInterface::class),
$container->get(\VuFind\Cookie\CookieManager::class),
Expand Down
35 changes: 17 additions & 18 deletions module/VuFind/src/VuFind/Auth/Manager.php
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,6 @@
use Lmc\Rbac\Identity\IdentityInterface;
use Lmc\Rbac\Mvc\Identity\IdentityProviderInterface;
use Psr\Log\LoggerAwareInterface;
use VuFind\Config\Config;

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This is still being used on line 206 -- that's the reason the tests are failing.

use VuFind\Cookie\CookieManager;
use VuFind\Db\Entity\UserEntityInterface;
use VuFind\Db\Service\AuditEventServiceInterface;
Expand Down Expand Up @@ -121,7 +120,7 @@ class Manager implements IdentityProviderInterface, LoggerAwareInterface
/**
* Constructor.
*
* @param Config $config VuFind configuration
* @param array $config VuFind configuration
* @param UserServiceInterface $userService User database service
* @param UserSessionPersistenceInterface $userSession User session persistence service
* @param SessionManager $sessionManager Session manager
Expand All @@ -134,7 +133,7 @@ class Manager implements IdentityProviderInterface, LoggerAwareInterface
* @param AuditEventServiceInterface $auditEventService Event database service
*/
public function __construct(
protected Config $config,
protected array $config,
protected UserServiceInterface $userService,
protected UserSessionPersistenceInterface $userSession,
protected SessionManager $sessionManager,
Expand All @@ -148,7 +147,7 @@ public function __construct(
) {
// Initialize active authentication setting (defaulting to Database
// if no setting passed in):
$method = $this->getPreAuthenticationData()['authMethod'] ?? $config->Authentication->method ?? 'Database';
$method = $this->getPreAuthenticationData()['authMethod'] ?? $config['Authentication']['method'] ?? 'Database';
// Set the active authentication method and force it legal:
$this->setAuthMethod($method, true);
}
Expand Down Expand Up @@ -231,7 +230,7 @@ public function supportsCreation(?string $authMethod = null): bool
*/
public function supportsRecovery(?string $authMethod = null, ?string $target = null): bool
{
return ($this->config->Authentication->recover_password ?? false)
return ($this->config['Authentication']['recover_password'] ?? false)
&& $this->getAuth($authMethod)->supportsPasswordRecovery($target);
}

Expand Down Expand Up @@ -269,7 +268,7 @@ public function getPasswordRecoveryData(array $params): ?array
*/
public function supportsEmailChange(?string $authMethod = null): bool
{
return $this->config->Authentication->change_email ?? false;
return $this->config['Authentication']['change_email'] ?? false;
}

/**
Expand All @@ -282,7 +281,7 @@ public function supportsEmailChange(?string $authMethod = null): bool
*/
public function supportsPasswordChange(?string $authMethod = null): bool
{
return ($this->config->Authentication->change_password ?? false)
return ($this->config['Authentication']['change_password'] ?? false)
&& $this->getAuth($authMethod)->supportsPasswordChange();
}

Expand All @@ -296,7 +295,7 @@ public function supportsPasswordChange(?string $authMethod = null): bool
*/
public function supportsConnectingLibraryCard(?string $authMethod = null): bool
{
return ($this->config->Catalog->auth_based_library_cards ?? false)
return ($this->config['Catalog']['auth_based_library_cards'] ?? false)
&& $this->getAuth($authMethod)->supportsConnectingLibraryCard();
}

Expand All @@ -309,10 +308,10 @@ public function supportsConnectingLibraryCard(?string $authMethod = null): bool
*/
public function supportsPersistentLogin(?string $authMethod = null): bool
{
if (!empty($this->config->Authentication->persistent_login)) {
if (!empty($this->config['Authentication']['persistent_login'])) {
return in_array(
strtolower($authMethod ?? $this->getSelectedAuthMethod() ?? ''),
explode(',', strtolower($this->config->Authentication->persistent_login))
explode(',', strtolower($this->config['Authentication']['persistent_login']))
);
}
return false;
Expand All @@ -325,7 +324,7 @@ public function supportsPersistentLogin(?string $authMethod = null): bool
*/
public function getPersistentLoginLifetime(): int
{
return $this->config->Authentication->persistent_login_lifetime ?? 14;
return $this->config['Authentication']['persistent_login_lifetime'] ?? 14;
}

/**
Expand Down Expand Up @@ -516,7 +515,7 @@ public function loginEnabled(): bool
{
if (null === $this->hideLogin) {
// Assume login is enabled unless explicitly turned off:
$this->hideLogin = ($this->config->Authentication->hideLogin ?? false);
$this->hideLogin = ($this->config['Authentication']['hideLogin'] ?? false);

if (!$this->hideLogin) {
try {
Expand Down Expand Up @@ -544,7 +543,7 @@ public function loginEnabled(): bool
public function ajaxEnabled(): bool
{
// Assume ajax is enabled unless explicitly turned off:
return $this->config->Authentication->enableAjax ?? true;
return $this->config['Authentication']['enableAjax'] ?? true;
}

/**
Expand All @@ -555,7 +554,7 @@ public function ajaxEnabled(): bool
public function dropdownEnabled(): bool
{
// Assume dropdown is disabled unless explicitly turned on:
return $this->config->Authentication->enableDropdown ?? false;
return $this->config['Authentication']['enableDropdown'] ?? false;
}

/**
Expand Down Expand Up @@ -740,7 +739,7 @@ public function checkForExpiredCredentials(): bool
*/
public function inPrivacyMode(): bool
{
return $this->config->Authentication->privacy ?? false;
return $this->config['Authentication']['privacy'] ?? false;
}

/**
Expand Down Expand Up @@ -838,7 +837,7 @@ public function updateEmail(UserEntityInterface $user, string $email): void
{
// Depending on verification setting, either do a direct update or else
// put the new address into a pending state.
if ($this->config->Authentication->verify_email ?? false) {
if ($this->config['Authentication']['verify_email'] ?? false) {
// If new email address is the current address, just reset any pending
// email address:
$user->setPendingEmail($email === $user->getEmail() ? '' : $email);
Expand Down Expand Up @@ -996,7 +995,7 @@ public function login(Request $request): ?UserEntityInterface
// Attempt catalog login so that any bad credentials are cleared before further processing
// (avoids e.g. multiple login attempts by account AJAX checks).
if (
($this->config->Catalog->checkILSCredentialsOnLogin ?? true)
($this->config['Catalog']['checkILSCredentialsOnLogin'] ?? true)
&& $this->ilsAuthenticator
&& $this->allowsUserIlsLogin()
&& ($catUsername = $user->getCatUsername())
Expand Down Expand Up @@ -1225,7 +1224,7 @@ protected function updateUser(UserEntityInterface $user, ?string $authMethod): v
*/
public function allowsUserIlsLogin(): bool
{
return $this->config->Catalog->allowUserLogin ?? true;
return $this->config['Catalog']['allowUserLogin'] ?? true;
}

/**
Expand Down
2 changes: 1 addition & 1 deletion module/VuFind/src/VuFind/Auth/ManagerFactory.php
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,7 @@ public function __invoke(
throw new \Exception('Unexpected options passed to factory.');
}
// Load dependencies:
$config = $container->get(\VuFind\Config\ConfigManagerInterface::class)->getConfigObject('config');
$config = $container->get(\VuFind\Config\ConfigManagerInterface::class)->getConfigArray('config');
$dbServiceManager = $container->get(\VuFind\Db\Service\PluginManager::class);
$userService = $dbServiceManager->get(\VuFind\Db\Service\UserServiceInterface::class);
$sessionManager = $container->get(\Laminas\Session\SessionManager::class);
Expand Down
Loading