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.
- 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
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.
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
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"
It is necessary to configure tx-vufind-auth at the extension manager.
- pid = 1: this is the typo3-pag-id where the frontend users and groups are stored
- 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
- cookiename = PHPSESSID: the name of the vufind session cookie
- lifetime = 3600: the session lifetime (see vufind config.ini, section
Session
, optionlifetime
)