ubl/vufind-auth

Authenticates users based on authenticated vufind session

Installs: 6

Dependents: 0

Suggesters: 0

Security: 0

Stars: 1

Watchers: 0

Forks: 0

Open Issues: 0

Type:typo3-cms-extension

2.0.2 2021-02-26 13:25 UTC

This package is not auto-updated.

Last update: 2021-04-09 14:32:01 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, option lifetime)