ubl / ubl_vufind_auth
Authenticates users based on authenticated vufind session
Installs: 13
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Type:typo3-cms-extension
Requires
- typo3/cms: ^7.6 || ^8.0
Requires (Dev)
- mikey179/vfsstream: ^1.4
- namelesscoder/typo3-repository-client: ^1.2
- nimut/testing-framework: ^1.0
- phpunit/phpunit: ^4.7 || ^5.0
This package is not auto-updated.
Last update: 2022-02-01 13:06:11 UTC
README
This extension enables typo3 to use vufind for frontend user authentication. After logging in into the catalog this extension reads the session-cookie and retrieves all necessary information from the vufind-database to identify an authorized user, assuming the requirements are met.
Requirements
- vufind >= v2
- typo3 >= 7.0.0
- zendframework/zendstdlib >= 3.1
- vufind-database is mysql
- vufind-session is stored into database
- typo3-installation has access to vufind-database
- a shared cookie-domain
Preparing Typo3
In order for this extension to work we need the zendframework/zend-stdlib classes available. therefore we require an autoloader, that loads this classes for us at
<PATH_site>/Packages/Libraries/autoload.php
Most simply way to provide this is by installing the packages with composer e.g.
COMPOSER_VENDOR_DIR="Packages/Libraries" composer require zendframework/zend-stdlib
Be aware that you have to manually adjust the vendor-dir within the composer.json in order to keep the folder for further installations. if you have a composer-enabled typo3-installation you probably might be fine with the defaults.
Preparing VuFind
Database as Session Storage
VuFind has a simple option to store the session-data into its own database.
therefore one has to set the option type
on 'Database' in section Session
at config.ini
and keep the session unencrypted.
[Session] type = Database secure = false
Cookie Domain
In order to enable Typo3 to read the vufind-cookie we have to set the cookie-domain
to the shared domain value. This is done by the option domain
in the Cookies
section:
[Cookies] domain = ".example.edu"
Configuring the extension
It is necessary to configure tx-vufind-auth at the extension manager.
Storage
- pid = 1: this is the typo3-pag-id where the frontend users and groups are stored
Database
- host = localhost: the host where vufinds database-server is running
- port = 3306: the port where vufinds database-server is running
- name = vufind: the vufind database name
- user = vufind: the user to connect with to the vufind database
- pass: the vufind database-user's password
Session
- cookiename = PHPSESSID: the name of the vufind session cookie
- lifetime = 3600: the session lifetime (see vufind config.ini, section
Session
, optionlifetime
)