Hello,
I was following the code listed here.
Also, I added the following to build.gradle:
implementation "org.apereo.cas:cas-server-core-api-authentication:${casServerVersion}"
implementation "org.apereo.cas:cas-server-core-authentication-api:${casServerVersion}"
implementation "org.apereo.cas:cas-server-support-generic:${casServerVersion}"
implementation "org.apereo.cas:cas-server-support-actions:${casServerVersion}"
implementation "org.apereo.cas:cas-server-core-authentication:${casServerVersion}"
implementation "org.apereo.cas:cas-server-core-authentication-attributes:${casServerVersion}"
implementation "org.apereo.cas:cas-server-core-services-authentication:${casServerVersion}"
implementation "org.apereo.cas:cas-server-core-configuration:${casServerVersion}"
implementation "org.apereo.cas:cas-server-core-configuration-api:${casServerVersion}"
And the code I'm testing.
package com.example.cas;
import org.apereo.cas.authentication.handler.support.AbstractUsernamePasswordAuthenticationHandler;
import org.apereo.cas.authentication.credential.UsernamePasswordCredential;
import org.apereo.cas.authentication.principal.PrincipalFactory;
import org.apereo.cas.authentication.PreventedException;
import org.apereo.cas.services.ServicesManager;
import org.apereo.cas.authentication.Credential;
import java.security.GeneralSecurityException;
import org.apereo.cas.authentication.principal.Principal;
public class MyAuthenticationHandler extends AbstractUsernamePasswordAuthenticationHandler {
public MyAuthenticationHandler(String name, ServicesManager servicesManager, PrincipalFactory principalFactory, Integer order) {
super(name, servicesManager, principalFactory, order);
}
@Override
protected HandlerResult authenticateUsernamePasswordInternal(
final UsernamePasswordCredential credential,
final String originalPassword) {
return createHandlerResult(credential, this.principalFactory.createPrincipal(username), null);
}
}
-Jeff