AuthService Backport
Allow adding support for component based authenticator in XWiki versions older than 15.0 |
Type | |
Category | Other |
Developed by | |
Rating | |
License | GNU Lesser General Public License 2.1 |
Description
The point of this extension is to make it easier to switch from one authenticator to another without restarting.
It's based on a component implemented by authenticators to make them more visible, as well as a display name and description.
Have your authenticator listed by the AuthService Application
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.0.0</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:
@Component
@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