@Override protected String extractPrincipalId(final Credential credential, final Optional<Principal> currentPrincipal) { LOGGER.debug("Attempting to extract principal id for principal [{}]", currentPrincipal); if (!credential.getClass().equals(SurrogateUsernamePasswordCredential.class)) { LOGGER.trace("Provided credential is not one of [{}]", SurrogateUsernamePasswordCredential.class.getName()); return super.extractPrincipalId(credential, currentPrincipal); } if (currentPrincipal.isEmpty()) { throw new IllegalArgumentException("Current principal resolved cannot be null"); } val id = currentPrincipal.get().getId(); LOGGER.debug("Resolving principal id for surrogate authentication as [{}]", id); return id; } }
@Override public Principal resolve(final Credential credential, final Optional<Principal> currentPrincipal, final Optional<AuthenticationHandler> handler) { LOGGER.debug("Attempting to resolve a principal..."); var principalId = extractPrincipalId(credential, currentPrincipal); if (StringUtils.isBlank(principalId)) { LOGGER.debug("Principal id [{}] could not be found", principalId);