Exemple #1
0
 public ListSecurityGroupsAction(
     IDirectoryServicesExternalSecurityGroupLocator externalSecurityGroupLocator,
     IApiActionResponseCreator responseCreator)
 {
     this.externalSecurityGroupLocator = externalSecurityGroupLocator;
     this.responseCreator = responseCreator;
 }
 public GoogleAppsUserAuthenticationAction(
     ILog log,
     IGoogleAppsConfigurationStore configurationStore,
     IIdentityProviderConfigDiscoverer identityProviderConfigDiscoverer,
     IGoogleAppsAuthorizationEndpointUrlBuilder urlBuilder,
     IApiActionResponseCreator responseCreator) : base(log, configurationStore, identityProviderConfigDiscoverer, urlBuilder, responseCreator)
 {
 }
Exemple #3
0
 public AzureADUserAuthenticationAction(
     ILog log,
     IAzureADConfigurationStore configurationStore,
     IIdentityProviderConfigDiscoverer identityProviderConfigDiscoverer,
     IAzureADAuthorizationEndpointUrlBuilder urlBuilder,
     IApiActionResponseCreator responseCreator,
     IApiActionModelBinder modelBinder,
     IWebPortalConfigurationStore webPortalConfigurationStore) : base(log, configurationStore, identityProviderConfigDiscoverer, urlBuilder, responseCreator, modelBinder, webPortalConfigurationStore)
 {
 }
 protected UserAuthenticationAction(
     ILog log,
     TStore configurationStore,
     IIdentityProviderConfigDiscoverer identityProviderConfigDiscoverer,
     IAuthorizationEndpointUrlBuilder urlBuilder,
     IApiActionResponseCreator responseCreator)
 {
     this.log           = log;
     ResponseCreator    = responseCreator;
     ConfigurationStore = configurationStore;
     this.identityProviderConfigDiscoverer = identityProviderConfigDiscoverer;
     this.urlBuilder = urlBuilder;
 }
        public OctopusVariablesModule(IApiActionResponseCreator apiResponseCreator, IVariableManifestFactory variableManifestFactory)
        {
            _apiResponseCreator      = apiResponseCreator;
            _variableManifestFactory = variableManifestFactory;
            Get["/api/variables/deployment/{id}"] = parameters => _apiResponseCreator.AsOctopusJson(Response, GetByDeploymentId(parameters), HttpStatusCode.OK);
            ;
            Get["/api/variables/test/{releaseId}/{environmentId}"]            = parameters => apiResponseCreator.AsOctopusJson(Response, GetFromTestDeployment(parameters), HttpStatusCode.OK);
            Get["/api/variables/test/{releaseId}/{environmentId}/{tenantId}"] = parameters => apiResponseCreator.AsOctopusJson(Response, GetFromTestDeployment(parameters), HttpStatusCode.OK);

            Get["/api/variables/deployment/{id}/eval/{variable}"] = parameters => ReturnResolvedVariable(GetByDeploymentId(parameters), parameters);
            Get["/api/variables/test/{releaseId}/{environmentId}/eval/{variable}"]            = parameters => ReturnResolvedVariable(GetFromTestDeployment(parameters), parameters);
            Get["/api/variables/test/{releaseId}/{environmentId}/{tenantId}/eval/{variable}"] = parameters => ReturnResolvedVariable(GetFromTestDeployment(parameters), parameters);

            Post["/api/variables/deployment/{id}/eval"] = parameters => ReturnEvaluatedRequest(GetByDeploymentId(parameters));
            Post["/api/variables/test/{releaseId}/{environmentId}/eval"]            = parameters => ReturnEvaluatedRequest(GetFromTestDeployment(parameters));
            Post["/api/variables/test/{releaseId}/{environmentId}/{tenantId}/eval"] = parameters => ReturnEvaluatedRequest(GetFromTestDeployment(parameters));
        }
Exemple #6
0
 public UserLoginAction(
     IDirectoryServicesConfigurationStore configurationStore,
     IDirectoryServicesCredentialValidator credentialValidator,
     IAuthCookieCreator issuer,
     IInvalidLoginTracker loginTracker,
     ISleep sleep,
     IApiActionModelBinder modelBinder,
     IApiActionResponseCreator responseCreator,
     IUserMapper userMapper)
 {
     this.configurationStore  = configurationStore;
     this.credentialValidator = credentialValidator;
     this.issuer          = issuer;
     this.loginTracker    = loginTracker;
     this.sleep           = sleep;
     this.modelBinder     = modelBinder;
     this.responseCreator = responseCreator;
     this.userMapper      = userMapper;
 }
Exemple #7
0
 protected UserAuthenticatedAction(
     ILog log,
     TAuthTokenHandler authTokenHandler,
     IPrincipalToUserResourceMapper principalToUserResourceMapper,
     IUserStore userStore,
     TStore configurationStore,
     IApiActionResponseCreator responseCreator,
     IAuthCookieCreator authCookieCreator,
     IInvalidLoginTracker loginTracker,
     ISleep sleep)
 {
     this.log = log;
     this.authTokenHandler = authTokenHandler;
     this.principalToUserResourceMapper = principalToUserResourceMapper;
     this.userStore         = userStore;
     ConfigurationStore     = configurationStore;
     ResponseCreator        = responseCreator;
     this.authCookieCreator = authCookieCreator;
     this.loginTracker      = loginTracker;
     this.sleep             = sleep;
 }
 public AzureADUserAuthenticatedAction(
     ILog log,
     IAzureADAuthTokenHandler authTokenHandler,
     IAzureADPrincipalToUserResourceMapper principalToUserResourceMapper,
     IUserStore userStore,
     IAzureADConfigurationStore configurationStore,
     IApiActionResponseCreator responseCreator,
     IAuthCookieCreator authCookieCreator,
     IInvalidLoginTracker loginTracker,
     ISleep sleep) :
     base(
         log,
         authTokenHandler,
         principalToUserResourceMapper,
         userStore,
         configurationStore,
         responseCreator,
         authCookieCreator,
         loginTracker,
         sleep)
 {
 }
Exemple #9
0
        public IntegratedAuthenticationModule(ILog log, IAuthCookieCreator tokenIssuer, IApiActionResponseCreator responseCreator, IWebPortalConfigurationStore webPortalConfigurationStore)
        {
            Get[DirectoryServicesConstants.ChallengePath] = c =>
            {
                if (Context.CurrentUser == null)
                {
                    return(responseCreator.Unauthorized(Request));
                }

                var principal   = (IOctopusPrincipal)Context.CurrentUser;
                var authCookies = tokenIssuer.CreateAuthCookies(Context.Request, principal.IdentificationToken, SessionExpiry.TwentyMinutes);

                var      whitelist = webPortalConfigurationStore.GetTrustedRedirectUrls();
                Response response;
                if (Request.Query["redirectTo"].HasValue && Requests.IsLocalUrl(Request.Query["redirectTo"].Value, whitelist))
                {
                    var redirectLocation = Request.Query["redirectTo"].Value;
                    response = new RedirectResponse(redirectLocation).WithCookies(authCookies);
                }
                else
                {
                    if (Request.Query["redirectTo"].HasValue)
                    {
                        log.WarnFormat("Prevented potential Open Redirection attack on an NTLM challenge, to the non-local url {0}", Request.Query["redirectTo"].Value);
                    }

                    response = new RedirectResponse(Request.Url.BasePath ?? "/").WithCookies(authCookies);
                }

                return(response);
            };
        }
Exemple #10
0
        public IntegratedAuthenticationModule(ILog log, IAuthCookieCreator tokenIssuer, IApiActionResponseCreator responseCreator, IWebPortalConfigurationStore webPortalConfigurationStore)
        {
            Get[DirectoryServicesConstants.ChallengePath] = c =>
            {
                if (Context.CurrentUser == null)
                {
                    return(responseCreator.Unauthorized(Request));
                }

                var principal   = (IOctopusPrincipal)Context.CurrentUser;
                var tokenCookie = tokenIssuer.CreateAuthCookie(Context, principal.IdentificationToken, false);

                var directoryPathResult = Request.AbsoluteVirtualDirectoryPath();
                if (!directoryPathResult.IsValid)
                {
                    return(responseCreator.BadRequest(directoryPathResult.InvalidReason));
                }

                var      whitelist = webPortalConfigurationStore.GetTrustedRedirectUrls();
                Response response;
                if (Request.Query["redirectTo"].HasValue && Requests.IsLocalUrl(directoryPathResult.Path, Request.Query["redirectTo"].Value, whitelist))
                {
                    var redirectLocation = Request.Query["redirectTo"].Value;
                    response = new RedirectResponse(redirectLocation).WithCookie(tokenCookie);
                }
                else
                {
                    log.WarnFormat("Prevented potential Open Redirection attack on an NTLM challenge from the local instance {0} to the non-local url {1}", directoryPathResult.Path, Request.Query["redirectTo"].Value);
                    response = new RedirectResponse(directoryPathResult.Path ?? "/").WithCookie(tokenCookie);
                }

                return(response);
            };
        }