public SamlAuthenticationStrategy(IRequestData requestData, ISamlDirector director, ISamlResponseReader reader, IEnumerable<ISamlValidationRule> rules, ILogger logger, IEnumerable<ISamlResponseHandler> strategies)
 {
     _requestData = requestData;
     _director = director;
     _reader = reader;
     _rules = rules;
     _logger = logger;
     _strategies = strategies;
 }
 public SamlAuthenticationStrategy(IRequestData requestData, ISamlDirector director, ISamlResponseReader reader, IEnumerable <ISamlValidationRule> rules, ILogger logger, IEnumerable <ISamlResponseHandler> strategies)
 {
     _requestData = requestData;
     _director    = director;
     _reader      = reader;
     _rules       = rules;
     _logger      = logger;
     _strategies  = strategies;
 }
 public void Handle(ISamlDirector director, SamlResponse response)
 {
     validate(response);
     if (response.Errors.Any())
     {
         _logger.InfoMessage(() => new SamlAuthenticationFailed(response));
         director.FailedUser(failedContinuation(response)); // just let it go to the login page
     }
     else
     {
         _logger.InfoMessage(() => new SamlAuthenticationSucceeded(response));
         var persistedUsername = createLocalUser(response);
         director.SuccessfulUser(persistedUsername, successfulContinuation(response));
     }
 }
 public void Handle(ISamlDirector director, SamlResponse response)
 {
     validate(response);
     if (response.Errors.Any())
     {
         _logger.InfoMessage(() => new SamlAuthenticationFailed(response));
         director.FailedUser(failedContinuation(response)); // just let it go to the login page
     }
     else
     {
         _logger.InfoMessage(() => new SamlAuthenticationSucceeded(response));
         var persistedUsername = createLocalUser(response);
         director.SuccessfulUser(persistedUsername, successfulContinuation(response));
     }
 }