package org.apereo.cas.adaptors.yubikey; 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.apereo.cas.authentication.Credential; import java.io.Serializable; /** * This is {@link YubiKeyCredential}. * * @author Misagh Moayyed * @since 5.0.0 */ public class YubiKeyCredential implements Credential, Serializable { private static final long serialVersionUID = -7570600701132111037L; private String token; /** * Instantiates a new Yubi key credential. */ public YubiKeyCredential() { } /** * Instantiates a new Yubi key credential. * * @param token the token */ public YubiKeyCredential(final String token) { this.token = token; } @Override public String toString() { return new ToStringBuilder(this) .append("token", this.token) .toString(); } @Override public boolean equals(final Object obj) { if (!(obj instanceof YubiKeyCredential)) { return false; } if (obj == this) { return true; } final YubiKeyCredential other = (YubiKeyCredential) obj; final EqualsBuilder builder = new EqualsBuilder(); builder.append(this.token, other.token); return builder.isEquals(); } @Override public int hashCode() { final HashCodeBuilder builder = new HashCodeBuilder(97, 31); builder.append(this.token); return builder.toHashCode(); } @Override public String getId() { return this.token; } public String getToken() { return this.token; } public void setToken(final String token) { this.token = token; } public boolean isValid() { return StringUtils.isNotBlank(this.token); } }