package com.airlock.iam.saml2.infrastructure.sp;

import com.airlock.iam.common.api.domain.model.user.ProvidedUsername;
import com.airlock.iam.saml2.domain.model.Saml2RelayState;
import com.airlock.iam.saml2.domain.model.idp.Saml2IdpEntityId;
import com.airlock.iam.saml2.domain.model.sp.Saml2Attributes;
import com.airlock.iam.saml2.domain.model.sp.Saml2InResponseTo;
import com.airlock.iam.saml2.domain.model.sp.Saml2SpEntityId;
import java.util.Optional;

public interface AssertionData {
   Optional<Saml2RelayState> getRelayState();

   Saml2IdpEntityId getIdpEntityId();

   Saml2SpEntityId getSpEntityId();

   Saml2Attributes getAttributes();

   Optional<Saml2InResponseTo> getInResponseTo();

   ProvidedUsername getProvidedUsernameFromNameID();
}
