/** {@inheritDoc} */ @Override @Nonnull protected Subject populateSubject(@Nonnull final Subject subject) { subject.getPrincipals().add(new UsernamePrincipal(upContext.getUsername())); if (savePasswordToCredentialSet) { subject.getPrivateCredentials().add(new PasswordPrincipal(upContext.getPassword())); } if (removeContextAfterValidation) { upContext.getParent().removeSubcontext(upContext); upContext.setPassword(null); upContext = null; } return subject; }
/** * Handle a callback. * * @param callbacks The list of callbacks to process. * * @throws UnsupportedCallbackException If callbacks has a callback other than {@link NameCallback} or * {@link PasswordCallback}. */ public void handle(final Callback[] callbacks) throws UnsupportedCallbackException { if (callbacks == null || callbacks.length == 0) { return; } for (final Callback cb : callbacks) { if (cb instanceof NameCallback) { final NameCallback ncb = (NameCallback) cb; ncb.setName(getUsernamePasswordContext().getUsername()); } else if (cb instanceof PasswordCallback) { final PasswordCallback pcb = (PasswordCallback) cb; pcb.setPassword(getUsernamePasswordContext().getPassword().toCharArray()); } } } }
/** * Handle a callback. * * @param callbacks The list of callbacks to process. * * @throws UnsupportedCallbackException If callbacks has a callback other than {@link NameCallback} or * {@link PasswordCallback}. */ public void handle(final Callback[] callbacks) throws UnsupportedCallbackException { if (callbacks == null || callbacks.length == 0) { return; } for (final Callback cb : callbacks) { if (cb instanceof NameCallback) { final NameCallback ncb = (NameCallback) cb; ncb.setName(getUsernamePasswordContext().getUsername()); } else if (cb instanceof PasswordCallback) { final PasswordCallback pcb = (PasswordCallback) cb; pcb.setPassword(getUsernamePasswordContext().getPassword().toCharArray()); } } } }
recordFailure(); return false; } else if (upContext.getPassword() == null) { log.info("{} No password available within UsernamePasswordContext", getLogPrefix()); handleError(profileRequestContext, authenticationContext, AuthnEventIds.INVALID_CREDENTIALS,
final AuthenticationRequest request = new AuthenticationRequest(new User(getUsernamePasswordContext().getUsername(), context), new Credential(getUsernamePasswordContext().getPassword()), returnAttributes); response = authenticator.authenticate(request); log.trace("{} Authentication response {}", getLogPrefix(), response);