We would like to integrate Sympa's webinterface with another system using MySQL using the other systems user table.
I've done some searching but since Sympa is poorly documented no results of relevance has shown up.
Is this possible?
We would like to integrate Sympa's webinterface with another system using MySQL using the other systems user table.
I've done some searching but since Sympa is poorly documented no results of relevance has shown up.
Is this possible?
Sympa authentication is configured by the
auth.conf
file. This can contain one or more stanzas defining alternative authentication methods, such as the internal database, LDAP, cas or generic_sso. Sysmpa identifies users by their email address.The first two (internal and LDAP) take the user email address and password, and authenticate directly. CAS authentication uses a CAS service.
Generic_sso authentication uses the Web server's own authentication to return a userID, and then obtains the user email address either from metadata or via an LDAP lookup. One example would be using Shibboleth (via mod_shib) and pulling the email address from the Shibboleth metadata. However, any web server authentication may be used, so you can easily use mod_mysql or similar to authenticate against an external user database. In order to get the email address, you can either use an assosciated LDAP lookup, have your web server authentication module return metadata (as an HTTP header), or ensure that the authenticated userID is the same as the email address.
In short; use generic_sso, and then configure the necessary authentication in your web server, making sure to return the email address in the metadata if you cannot map user to email via an LDAP lookup.
The (admittedly poor) documentation on this is here : Sympa authentication
Example: This
auth.conf
stanza usesmod_shib
to authnticate via Shibboleth; if themail
metadata is returned then it will be used, otherwise an LDAP lookup will be performed to obtain the email address. In order for the authentication to work, the location/sympa/sso_login/shibboleth
is configured in the web server to be protected by Shibboleth usingmod_shib
.Example: A similar method can be used to protect a location using a different method, such as
mod_auth_mysql
ormod_authn_dbd
. If you usemod_authn_dbd
, you can return the email address in the same query, from where it will be loaded into the environment. You can then useRequestHeader set
in your Apache config to push it into the HTTP headers to be picked up by theemail_http_header
definition. See here for themod_authn_dbd
documentation.and in Apache (this is not tested but should be correct):