PHPackages                             ubl/vufind-auth - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. ubl/vufind-auth

ActiveTypo3-cms-extension[Authentication &amp; Authorization](/categories/authentication)

ubl/vufind-auth
===============

Authenticates users based on authenticated vufind session

3.2.1(1y ago)17GPL-2.0+PHPCI failing

Since Mar 14Pushed 1y agoCompare

[ Source](https://github.com/ubleipzig/tx-vufind-auth)[ Packagist](https://packagist.org/packages/ubl/vufind-auth)[ Docs](https://github.com/ubleipzig/tx-vufind-auth)[ RSS](/packages/ubl-vufind-auth/feed)WikiDiscussions 10.4\_lts Synced 3w ago

READMEChangelogDependencies (5)Versions (16)Used By (0)

Vufind Authentication SSO
=========================

[](#vufind-authentication-sso)

This extension enables [typo3](https://typo3.org) to use [vufind](https://vufind.org) 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
------------

[](#requirements)

- vufind &gt;= v2
- typo3 &gt;= 8.0.0
- zendframework/zendstdlib &gt;= 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
---------------

[](#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

```
/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
----------------

[](#preparing-vufind)

At first be aware that your Typo3 host has an access to the VuFind database. Therefor we prefer an own user with restricted rules to the VuFind tables *session* and *user*.

### Database as Session Storage

[](#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

[](#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
-------------------------

[](#configuring-the-extension)

It is necessary to configure *tx-vufind-auth* at the extension manager.

### Storage

[](#storage)

- *pid = 1*: this is the typo3-pag-id where the frontend users and groups are stored

### Database

[](#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
-------

[](#session)

- *cookiename = PHPSESSID*: the name of the vufind session cookie
- *lifetime = 3600*: the session lifetime (see vufind config.ini, section `Session`, option `lifetime`)

Command line tools
------------------

[](#command-line-tools)

### Cleanup users

[](#cleanup-users)

There is a cleanup-command on typo3's commandline interface to remove outdated user data from *fe\_users* table.

Be aware that the concept of saving users at fe\_users for VuFind only depends on needs of other extensions at Typo3. Therefore calculate well between requirements of applications and data economy due to risk holding trusted personal data.

Parameters:

```
--days int (Default: 60) Amount of days to keep the record of a user since last login.

```

#### Instruction for setting up at backend

[](#instruction-for-setting-up-at-backend)

Go to *Scheduler-&gt;Add Task*

- At *Class* choose **Extbase-CommandController-Task**
- At *Frequency* specify how often and in which period scheduler task should be run. (Seconds or cronjob settings required.)
- At select box of *CommandController Command* choose **VuFindAuth Cleanup: cleanupFrontendUser**
- On next step save the task! This is important to display the form element for additional arguments of command line tool.
- Scroll down and specify the amount of **days** to keep the record since last login of user. Default are *60* days.
- Save the task again!

For developing issue it is also possible to run the task on a terminal.

###  Health Score

33

—

LowBetter than 72% of packages

Maintenance37

Infrequent updates — may be unmaintained

Popularity6

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity71

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~216 days

Recently: every ~159 days

Total

14

Last Release

578d ago

Major Versions

1.0.1 → 2.0.02021-02-26

1.0.2 → 2.0.42022-04-27

2.1.0 → 3.0.02022-04-29

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/7923633?v=4)[Leipzig University Library](/maintainers/ubleipzig)[@ubleipzig](https://github.com/ubleipzig)

![](https://www.gravatar.com/avatar/2306f04b1413eaae6e0f33007cc87094fc92018cd885740f1e58c3d0d17fa4fe?d=identicon)[useltmann](/maintainers/useltmann)

---

Top Contributors

[![ndege](https://avatars.githubusercontent.com/u/1499473?v=4)](https://github.com/ndege "ndege (14 commits)")

---

Tags

typo3typo3-cms-extensionvufindAuthenticationTYPO3 CMSvufind

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ubl-vufind-auth/health.svg)

```
[![Health](https://phpackages.com/badges/ubl-vufind-auth/health.svg)](https://phpackages.com/packages/ubl-vufind-auth)
```

###  Alternatives

[tymon/jwt-auth

JSON Web Token Authentication for Laravel and Lumen

11.5k50.9M364](/packages/tymon-jwt-auth)[league/oauth2-server

A lightweight and powerful OAuth 2.0 authorization and resource server library with support for all the core specification grants. This library will allow you to secure your API with OAuth and allow your applications users to approve apps that want to access their data from your API.

6.7k143.0M272](/packages/league-oauth2-server)[league/oauth2-client

OAuth 2.0 Client Library

3.8k125.2M1.3k](/packages/league-oauth2-client)[google/auth

Google Auth Library for PHP

1.4k286.7M205](/packages/google-auth)[pragmarx/google2fa

A One Time Password Authentication package, compatible with Google Authenticator.

2.0k92.3M221](/packages/pragmarx-google2fa)[paragonie/sodium_compat

Pure PHP implementation of libsodium; uses the PHP extension if it exists

931141.1M172](/packages/paragonie-sodium-compat)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
