package mujina.saml;
import lombok.EqualsAndHashCode;
import lombok.Getter;
import lombok.Setter;
import java.security.Principal;
import java.util.ArrayList;
import java.util.List;
@Getter
@Setter
@EqualsAndHashCode(of = "nameID")
public class SAMLPrincipal implements Principal {
private String serviceProviderEntityID;
private String requestID;
private String assertionConsumerServiceURL;
private String relayState;
private final List<SAMLAttribute> attributes = new ArrayList<>();
private String nameID;
private String nameIDType;
public SAMLPrincipal(String nameID, String nameIDType, List<SAMLAttribute> attributes) {
this.nameID = nameID;
this.nameIDType = nameIDType;
this.attributes.addAll(attributes);
}
public SAMLPrincipal(String nameID, String nameIDType, List<SAMLAttribute> attributes, String serviceProviderEntityID, String requestID, String assertionConsumerServiceURL, String relayState) {
this(nameID, nameIDType, attributes);
this.serviceProviderEntityID = serviceProviderEntityID;
this.requestID = requestID;
this.assertionConsumerServiceURL = assertionConsumerServiceURL;
this.relayState = relayState;
}
@Override
public String getName() {
return nameID;
}
}