package org.apereo.cas.adaptors.duo.authn;
import org.apache.commons.lang3.StringUtils;
import org.apache.commons.lang3.builder.EqualsBuilder;
import org.apache.commons.lang3.builder.HashCodeBuilder;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import org.apereo.cas.authentication.Credential;
import java.io.Serializable;
/**
* Represents the duo credential.
* @author Misagh Moayyed
* @since 4.2
*/
public class DuoCredential implements Credential, Serializable {
private static final long serialVersionUID = -7570600733132111037L;
private String username;
private String signedDuoResponse;
@Override
public String toString() {
return new ToStringBuilder(this, ToStringStyle.NO_CLASS_NAME_STYLE)
.append("username", this.username)
.append("signedDuoResponse", this.signedDuoResponse)
.toString();
}
@Override
public boolean equals(final Object obj) {
if (!(obj instanceof DuoCredential)) {
return false;
}
if (obj == this) {
return true;
}
final DuoCredential other = (DuoCredential) obj;
final EqualsBuilder builder = new EqualsBuilder();
builder.append(this.username, other.getUsername());
return builder.isEquals();
}
@Override
public int hashCode() {
final HashCodeBuilder builder = new HashCodeBuilder(97, 31);
builder.append(this.username);
return builder.toHashCode();
}
@Override
public String getId() {
return this.username;
}
public String getSignedDuoResponse() {
return this.signedDuoResponse;
}
public String getUsername() {
return this.username;
}
public void setUsername(final String username) {
this.username = username;
}
public void setSignedDuoResponse(final String signedDuoResponse) {
this.signedDuoResponse = signedDuoResponse;
}
public boolean isValid() {
return StringUtils.isNotBlank(this.username) && StringUtils.isNotBlank(this.signedDuoResponse);
}
}