AuthService Backport Application

Last modified by Thomas Mortagne on 2023/05/01 00:06

cogAllow adding support for component based authenticator in XWiki versions older than 15.3
TypeXAR
CategoryApplication
Developed by

Thomas Mortagne

Active Installs35
Rating
0 Votes
LicenseGNU Lesser General Public License 2.1

Installable with the Extension Manager

Description

The point of this extension is to make it easier to switch from one authenticator to another without restarting.

The system is based on a component implemented by authenticators. They can also provide a display name and description.

LDAPAuthService.png

Have your authenticator appear in AuthService Application after it's installed

To see your authenticator listed and allow switching it at runtime, you should:

  • add a dependency on authservice-backport-api:

        <dependency>
         <groupId>org.xwiki.contrib</groupId>
         <artifactId>authservice-backport-api</artifactId>
         <version>1.1.1</version>
       </dependency>
  • implement component org.xwiki.security.authservice.XWikiAuthServiceComponent, for existing authenticators the easiest is generally to extend the org.xwiki.security.authservice.AbstractXWikiAuthServiceWrapper helper as in:

    @Component
    @Singleton
    @Named(LDAPAuthService.ID)
    public class LDAPAuthService extends AbstractXWikiAuthServiceWrapper implements XWikiAuthServiceComponent
    {
       public static final String ID = "ldap";

       /**
         * Wrap a {@link XWikiLDAPAuthServiceImpl} instance.
         */

       public LDAPAuthService()
       {
           super(new XWikiLDAPAuthServiceImpl());
       }

       @Override
       public String getId()
       {
           return ID;
       }
    }
  • provide translation for the authenticator display name and description following the formats
    security.authservice.service.<id>.name
    and security.authservice.service.<id>.description as in:

    security.authservice.service.ldap.name=LDAP Authenticator
    security.authservice.service.ldap.description=Authenticate using LDAP protocol

Prerequisites & Installation Instructions

We recommend using the Extension Manager to install this extension (Make sure that the text "Installable with the Extension Manager" is displayed at the top right location on this page to know if this extension can be installed with the Extension Manager). Note that installing Extensions when being offline is currently not supported and you'd need to use some complex manual method.

You can also use the following manual method, which is useful if this extension cannot be installed with the Extension Manager or if you're using an old version of XWiki that doesn't have the Extension Manager:

  1. Log in the wiki with a user having Administration rights
  2. Go to the Administration page and select the Import category
  3. Follow the on-screen instructions to upload the downloaded XAR
  4. Click on the uploaded XAR and follow the instructions
  5. You'll also need to install all dependent Extensions that are not already installed in your wiki

Release Notes

v1.1.1

v1.1.0

v1.0.2

v1.0.1

v1.0.0

Dependencies

Dependencies for this extension (org.xwiki.contrib:authservice-backport-ui 1.1.1):

Get Connected