Usage

Note

Currently, the extension can only be used with the HumHub Professional Editon. For single sign-on the JWT-Auth module is required. Soon HumHub will release its own TYPO3 Auth module for free. Then this extension can also be used with the HumHub Community Edition.

Add a scheduler task for syncronization

Create a scheduler task in your TYPO3 CMS of the type "HumHub - fe user syncronization" as usual. There you have the following options: Folder ID where the fe users are stored, Optional: Mail address for the email confirmation as well as the Folder ID for the field mapping records.

Scheduler Task

Set extension settings

The extension settings are essential for smooth functionality. Please fill in the fields correctly and carefully. The following options are available:

baseurl

The baseurl from your humhub installation

username

Username from your auth user

password

Password from your auth user

sharedKey

The individual key you generate to configure the JWT token generation for the SSO functionality. Please make sure to use a 256bit strong key

keyValid

Validity of the JWT token

syncPeriod

Value in hours, how often the fe user data should be synchronized

prettyUrls

Enable this option if your humhub installation has pretty urls enabled

api

The version from the humhub api

Extension Settings

Add fe plugins

There are two different frontend plugins. One is an SSO function via link (for example in an active internal area) and the other is an SSO function via form. Important for the plugin: SSO Login with form is the setting of the fe user folder in the plugin.

FE PlugIn

Add field mapping records

HumHub is a powerful tool. Consequently, HumHub in the basic version can also provide a range of profile information that does not exist in TYPO3. Furthermore, you can also create your own fields in HumHub. Therefore the extension brings its own field mapping. Here you can synchronize your own fields with the help of the HumHub Rest-API docu: https://marketplace.humhub.com/module/rest/docs/html/user.html#tag/User.

To use the field mapping, create a system folder in the page tree and create the records there accordingly.

The following fields are stored in the extension by default and cannot be changed:

username email authclient authclient_id

Important note: You are not allowed to synchronize the password field. It is not needed in the Auth method and the hash from TYPO3 cannot be used in HumHub!

HumHub Settings

To set up synchronization, you need to set the following in HumHub:

  1. Go to administration > moduls

  2. Search an install RESTful API modul

  3. Configure the RESTful API modul with following settings:

    1. General > Aktivate "Allow JWT Authentication" and set the auth user

Manual from RESTful API: https://marketplace.humhub.com/module/rest/description

To use the SSO function, you must install the JWT SSO module and configure it accordingly. The documentation for this can be found here: https://marketplace.humhub.com/module/jwt-sso/description

Good to know

  • You must add your Humhub admin in typo3 to login with the SSO-API

  • Soon a free TYPO3-Auth module will be available on the HumHub Marketplace

Troubleshooting

What do I do if a fe user does not sync to Humhub?

The extension stores the synchronization status in the respective fe user. Just as the synchronization time and if the user could not be synchronized also accordingly the error information from HumHub.

You can find the information in the record of the respective fe user > extended

HumHub State

What do I do if TYPO3 does not find the Firebase/JWT/JWT class?

If you have installed TYPO3 in classic mode, you have to make sure that the php package firebase/php-jwt is available in your system. TYPO3 12 comes with the package directly, in version 11 you have to install it separately. If you have installed TYPO3 in the composer mode, there is a dependency and the firebase package is installed with it and you don't have to do anything else except clearing the cache.