@SuppressWarnings("unchecked") @Override public boolean commit() throws LoginException { boolean result = super.commit(); if (result) { SamlCredential samlCredential = null; Set<Object> creds = subject.getPublicCredentials(); for (Object cred : creds) { if (cred instanceof SamlCredential) { samlCredential = (SamlCredential) cred; break; } } if (samlCredential == null) throw logger.authSAMLCredentialNotAvailable(); Principal principal = new PicketLinkPrincipal(""); if (super.isUseFirstPass()) { this.sharedState.put("javax.security.auth.login.name", principal); super.sharedState.put("javax.security.auth.login.password", samlCredential); } } return result; }