package org.xdi.oxauth.model.audit;
import java.util.Date;
import org.apache.commons.lang.StringUtils;
import org.xdi.net.InetAddressUtility;
import org.xdi.oxauth.model.common.AuthorizationGrant;
public class OAuth2AuditLog {
private final String ip;
private final Action action;
private final Date timestamp;
private final String macAddress;
private boolean isSuccess;
private String clientId;
private String username;
private String scope;
public OAuth2AuditLog(String ip, Action action) {
this.ip = ip;
this.action = action;
this.timestamp = new Date();
this.macAddress = InetAddressUtility.getMACAddressOrNull();
this.isSuccess = false;
}
public void updateOAuth2AuditLog(AuthorizationGrant authorizationGrant, boolean success) {
this.setClientId(authorizationGrant.getClientId());
this.setUsername(authorizationGrant.getUserId());
this.setScope(StringUtils.join(authorizationGrant.getScopes(), " "));
this.setSuccess(success);
}
public String getIp() {
return ip;
}
public Action getAction() {
return action;
}
public Date getTimestamp() {
return timestamp;
}
public String getMacAddress() {
return macAddress;
}
public boolean isSuccess() {
return isSuccess;
}
public void setSuccess(boolean success) {
isSuccess = success;
}
public String getClientId() {
return clientId;
}
public void setClientId(String clientId) {
this.clientId = clientId;
}
public String getUsername() {
return username;
}
public void setUsername(String username) {
this.username = username;
}
public String getScope() {
return scope;
}
public void setScope(String scope) {
this.scope = scope;
}
}