package org.pac4j.oidc.credentials;
import com.nimbusds.jwt.JWT;
import com.nimbusds.oauth2.sdk.token.AccessToken;
import com.nimbusds.oauth2.sdk.token.RefreshToken;
import org.pac4j.core.credentials.Credentials;
import com.nimbusds.oauth2.sdk.AuthorizationCode;
import org.pac4j.core.util.CommonHelper;
/**
* Credentials containing the authorization code sent by the OpenID Connect server.
*
* @author Michael Remond
* @author Jerome Leleu
* @since 1.7.0
*/
public class OidcCredentials extends Credentials {
private static final long serialVersionUID = 6772331801527223938L;
private AuthorizationCode code;
private AccessToken accessToken;
private RefreshToken refreshToken;
private JWT idToken;
public OidcCredentials(final String clientName) {
this.setClientName(clientName);
}
public AuthorizationCode getCode() {
return code;
}
public void setCode(final AuthorizationCode code) {
this.code = code;
}
public AccessToken getAccessToken() {
return accessToken;
}
public void setAccessToken(final AccessToken accessToken) {
this.accessToken = accessToken;
}
public RefreshToken getRefreshToken() {
return refreshToken;
}
public void setRefreshToken(final RefreshToken refreshToken) {
this.refreshToken = refreshToken;
}
public JWT getIdToken() {
return idToken;
}
public void setIdToken(final JWT idToken) {
this.idToken = idToken;
}
@Override
public boolean equals(Object o) {
if (this == o) return true;
if (o == null || getClass() != o.getClass()) return false;
final OidcCredentials that = (OidcCredentials) o;
return !(code != null ? !code.equals(that.code) : that.code != null);
}
@Override
public int hashCode() {
return code != null ? code.hashCode() : 0;
}
@Override
public String toString() {
return CommonHelper.toString(this.getClass(), "code", this.code, "clientName", getClientName(), "accessToken", accessToken,
"refreshToken", refreshToken, "idToken", idToken);
}
}