package org.apereo.cas.adaptors.duo.authn; import org.apache.commons.lang3.builder.EqualsBuilder; import org.apache.commons.lang3.builder.HashCodeBuilder; import org.apache.commons.lang3.builder.ToStringBuilder; import org.apereo.cas.authentication.Authentication; import org.apereo.cas.authentication.Credential; import java.io.Serializable; /** * This is {@link DuoDirectCredential}. * * @author Misagh Moayyed * @since 5.0.0 */ public class DuoDirectCredential implements Credential, Serializable { private static final long serialVersionUID = -7570699733132111037L; private final Authentication authentication; public DuoDirectCredential(final Authentication authentication) { this.authentication = authentication; } @Override public String getId() { return this.authentication.getPrincipal().getId(); } public Authentication getAuthentication() { return authentication; } @Override public boolean equals(final Object obj) { if (obj == null) { return false; } if (obj == this) { return true; } if (obj.getClass() != getClass()) { return false; } final DuoDirectCredential rhs = (DuoDirectCredential) obj; return new EqualsBuilder() .append(this.authentication, rhs.authentication) .isEquals(); } @Override public int hashCode() { return new HashCodeBuilder() .append(authentication) .toHashCode(); } @Override public String toString() { return new ToStringBuilder(this) .append("id", authentication) .toString(); } }