package com.airlock.iam.authentication.infrastructure.factory.saml2;

import com.airlock.iam.authentication.api.domain.model.step.AuthenticationStepResultFactory;
import com.airlock.iam.authentication.application.service.saml2.sp.Saml2SpSsoAccessService;
import com.airlock.iam.core.domain.model.authentication.factor.KnownAuthenticationFactorDetail;
import com.airlock.iam.flow.api.domain.model.step.StepResultFactory;
import com.google.inject.PrivateModule;
import com.google.inject.Provides;

public final class Saml2SpSsoInitModule extends PrivateModule {
   @Provides
   StepResultFactory provideStepResultFactory() {
      return AuthenticationStepResultFactory.forFactorDetail(KnownAuthenticationFactorDetail.TOKEN_SAML);
   }

   protected void configure() {
      this.bind(Saml2SpSsoAccessService.class);
      this.expose(Saml2SpSsoAccessService.class);
   }
}
