public SAMLAssertion authenticate(Credential credential) throws AuthenticationProviderException, CredentialNotSupportedException, InsufficientAttributeException, InvalidCredentialException { if (!AuthenticationProfile.isSupported( this.auth.getSupportedAuthenticationProfiles(), credential)) { CredentialNotSupportedException fault = FaultHelper.createFaultException( CredentialNotSupportedException.class, "The credential provided is not accepted by this service."); throw fault; } try { return this.auth.authenticate(credential); } catch (InvalidCredentialException ex) { InvalidCredentialException fault = FaultHelper.createFaultException(InvalidCredentialException.class, ex.getMessage()); FaultHelper.addCause(fault, ex.getFault()); throw fault; } catch (InsufficientAttributeException ex) { InsufficientAttributeException fault = FaultHelper.createFaultException(InsufficientAttributeException.class, ex.getMessage()); FaultHelper.addCause(fault, ex.getFault()); throw fault; } catch (Exception ex) { AuthenticationProviderException fault = FaultHelper.createFaultException(AuthenticationProviderException.class, ex.getMessage()); throw fault; } }
public org.cagrid.gaards.authentication.service.SAMLAssertion authenticate( org.cagrid.gaards.authentication.service.Credential credential) throws InvalidCredentialException, InsufficientAttributeException, AuthenticationProviderException { if (credential.getBasicAuthenticationCredential() != null) { if (credential.getCredentialExtension() != null) { InvalidCredentialException fault = FaultHelper.createFaultException( InvalidCredentialException.class, "The credential extension cannot be used to authenticate with the deprecated authenticate method, only a basic authentication credential is supported."); throw fault; } else { BasicAuthenticationCredential cred = credential.getBasicAuthenticationCredential(); BasicAuthentication auth = new BasicAuthentication(); auth.setUserId(cred.getUserId()); auth.setPassword(cred.getPassword()); try { SAMLAssertion saml = this.authenticate(auth); org.cagrid.gaards.authentication.service.SAMLAssertion assertion = new org.cagrid.gaards.authentication.service.SAMLAssertion(); assertion.setXml(SAMLUtils.samlAssertionToString(saml)); return assertion; } catch (InsufficientAttributeException e) { InsufficientAttributeException fault = FaultHelper.createFaultException( InsufficientAttributeException.class, e.getMessage()); FaultHelper.addCause(fault, e.getFault()); throw fault; } catch (InvalidCredentialException e) { InvalidCredentialException fault = FaultHelper.createFaultException(InvalidCredentialException.class, e.getMessage()); FaultHelper.addCause(fault, e.getFault()); throw fault; } catch (Exception e) { AuthenticationProviderException fault = FaultHelper.createFaultException( AuthenticationProviderException.class, e.getMessage()); throw fault; } } } else { InvalidCredentialException fault = FaultHelper.createFaultException( InvalidCredentialException.class, "No basic authentication credential was provided, a basic authentication credential is required to authenticate to this service using the deprecated authenticate method."); throw fault; } }