Fixed SSL redirect filter
fixed ssl filter and added some config examples Change-Id: I90ab6d108e13d495dc12fde4fe8a4433b93a0a1f
This commit is contained in:
parent
5485d902e9
commit
33526e903d
15
.env.example
15
.env.example
@ -41,12 +41,15 @@ CORS_USE_PRE_FLIGHT_CACHING=true
|
||||
CORS_MAX_AGE=3200
|
||||
CORS_EXPOSED_HEADERS=
|
||||
|
||||
CURL_TIMEOUT=60
|
||||
CURL_TIMEOUT=3600
|
||||
CURL_ALLOWS_REDIRECT=false
|
||||
CURL_VERIFY_SSL_CERT=true
|
||||
CURL_VERIFY_SSL_CERT=false
|
||||
|
||||
SSL_ENABLED=false
|
||||
OAUTH2_ENABLED=true
|
||||
DB_LOG_ENABLED=false
|
||||
ASSETS_BASE_URL=http://www.openstack.org
|
||||
API_RESPONSE_CACHE_LIFETIME=10000
|
||||
SSL_ENABLED=true
|
||||
DB_LOG_ENABLED=true
|
||||
ACCESS_TOKEN_CACHE_LIFETIME=300
|
||||
API_RESPONSE_CACHE_LIFETIME=600
|
||||
|
||||
LOG_EMAIL_TO=smarcet@gmail.com
|
||||
LOG_EMAIL_FROM=smarcet@gmail.com
|
52
.env.testing
52
.env.testing
@ -1,52 +0,0 @@
|
||||
APP_ENV=testing
|
||||
APP_DEBUG=true
|
||||
APP_KEY=KKzP6APRNHmADURQ8OanDTU5kDpGwo6l
|
||||
APP_URL=https://local.resource-server.openstack.org
|
||||
APP_OAUTH_2_0_CLIENT_ID=tM9iYEq2iCP6P5WQL.~Zo2XXLbugpNhu.openstack.client
|
||||
APP_OAUTH_2_0_CLIENT_SECRET=f70Ydbhq9NernTem4Yow8SEB
|
||||
APP_OAUTH_2_0_AUTH_SERVER_BASE_URL=https://local.openstackid.openstack.org
|
||||
|
||||
DB_HOST=localhost
|
||||
DB_DATABASE=resource_server_test
|
||||
DB_USERNAME=root
|
||||
DB_PASSWORD=Koguryo@1981
|
||||
|
||||
SS_DB_HOST=localhost
|
||||
SS_DATABASE=os_production2
|
||||
SS_DB_USERNAME=root
|
||||
SS_DB_PASSWORD=Koguryo@1981
|
||||
|
||||
REDIS_HOST=127.0.0.1
|
||||
REDIS_PORT=6379
|
||||
REDIS_DB=0
|
||||
REDIS_PASSWORD=
|
||||
|
||||
CACHE_DRIVER=redis
|
||||
|
||||
SESSION_DRIVER=redis
|
||||
SESSION_COOKIE_DOMAIN=
|
||||
SESSION_COOKIE_SECURE=false
|
||||
|
||||
QUEUE_DRIVER=sync
|
||||
|
||||
MAIL_DRIVER=smtp
|
||||
MAIL_HOST=mailtrap.io
|
||||
MAIL_PORT=2525
|
||||
MAIL_USERNAME=null
|
||||
MAIL_PASSWORD=null
|
||||
|
||||
|
||||
LOG_EMAIL_TO=
|
||||
LOG_EMAIL_FROM=
|
||||
|
||||
CORS_ALLOWED_HEADERS=origin, content-type, accept, authorization, x-requested-with
|
||||
CORS_ALLOWED_METHODS=GET, POST, OPTIONS, PUT, DELETE
|
||||
CORS_USE_PRE_FLIGHT_CACHING=false
|
||||
CORS_MAX_AGE=3200
|
||||
CORS_EXPOSED_HEADERS=
|
||||
|
||||
CURL_TIMEOUT=3600
|
||||
CURL_ALLOWS_REDIRECT=false
|
||||
CURL_VERIFY_SSL_CERT=false
|
||||
DB_LOG_ENABLED=true
|
||||
ASSETS_BASE_URL=http://www.openstack.org/
|
@ -31,6 +31,7 @@ class Kernel extends HttpKernel
|
||||
'rate.limit' => 'App\Http\Middleware\RateLimitMiddleware',
|
||||
'etags' => 'App\Http\Middleware\ETagsMiddleware',
|
||||
'cache' => 'App\Http\Middleware\CacheMiddleware',
|
||||
'ssl' => 'App\Http\Middleware\SSLMiddleware',
|
||||
];
|
||||
|
||||
}
|
36
app/Http/Middleware/SSLMiddleware.php
Normal file
36
app/Http/Middleware/SSLMiddleware.php
Normal file
@ -0,0 +1,36 @@
|
||||
<?php
|
||||
/**
|
||||
* Copyright 2015 OpenStack Foundation
|
||||
* Licensed under the Apache License, Version 2.0 (the "License");
|
||||
* you may not use this file except in compliance with the License.
|
||||
* You may obtain a copy of the License at
|
||||
* http://www.apache.org/licenses/LICENSE-2.0
|
||||
* Unless required by applicable law or agreed to in writing, software
|
||||
* distributed under the License is distributed on an "AS IS" BASIS,
|
||||
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
* See the License for the specific language governing permissions and
|
||||
* limitations under the License.
|
||||
**/
|
||||
|
||||
namespace App\Http\Middleware;
|
||||
|
||||
use Closure;
|
||||
use Illuminate\Support\Facades\Config;
|
||||
use Illuminate\Support\Facades\Redirect;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Illuminate\Contracts\Routing\Middleware;
|
||||
|
||||
/**
|
||||
* Class SSLMiddleware
|
||||
* @package App\Http\Middleware
|
||||
*/
|
||||
final class SSLMiddleware implements Middleware
|
||||
{
|
||||
public function handle($request, Closure $next)
|
||||
{
|
||||
if (!Request::secure() && Config::get("server.ssl_enabled", false)) {
|
||||
return Redirect::secure(Request::getRequestUri());
|
||||
}
|
||||
return $next($request);
|
||||
}
|
||||
}
|
@ -13,12 +13,12 @@
|
||||
//OAuth2 Protected API
|
||||
Route::group(array(
|
||||
'prefix' => 'api/v1',
|
||||
'before' => ['ssl', 'oauth2.enabled'],
|
||||
'after' => '',
|
||||
'middleware' => ['oauth2.protected', 'rate.limit','etags']
|
||||
'before' => [],
|
||||
'after' => [],
|
||||
'middleware' => ['ssl', 'oauth2.protected', 'rate.limit','etags']
|
||||
), function () {
|
||||
|
||||
Route::group(array('prefix' => 'marketplace'), function () {
|
||||
Route::group(array('prefix' => 'marketplace'), function () {
|
||||
|
||||
Route::group(array('prefix' => 'public-clouds'), function () {
|
||||
Route::get('', 'OAuth2PublicCloudApiController@getClouds');
|
||||
|
@ -1,62 +1,44 @@
|
||||
<?php namespace App\Providers;
|
||||
|
||||
use Illuminate\Routing\Router;
|
||||
use Illuminate\Foundation\Support\Providers\RouteServiceProvider as ServiceProvider;
|
||||
use Illuminate\Support\Facades\Route;
|
||||
use Illuminate\Support\Facades\Config;
|
||||
use Illuminate\Support\Facades\Request;
|
||||
use Illuminate\Support\Facades\Redirect;
|
||||
use Illuminate\Support\Facades\View;
|
||||
use Illuminate\Routing\Router;
|
||||
|
||||
class RouteServiceProvider extends ServiceProvider {
|
||||
/**
|
||||
* Class RouteServiceProvider
|
||||
* @package App\Providers
|
||||
*/
|
||||
class RouteServiceProvider extends ServiceProvider
|
||||
{
|
||||
|
||||
/**
|
||||
* This namespace is applied to the controller routes in your routes file.
|
||||
*
|
||||
* In addition, it is set as the URL generator's root namespace.
|
||||
*
|
||||
* @var string
|
||||
*/
|
||||
protected $namespace = 'App\Http\Controllers';
|
||||
/**
|
||||
* This namespace is applied to the controller routes in your routes file.
|
||||
* In addition, it is set as the URL generator's root namespace.
|
||||
* @var string
|
||||
*/
|
||||
protected $namespace = 'App\Http\Controllers';
|
||||
|
||||
/**
|
||||
* Define your route model bindings, pattern filters, etc.
|
||||
*
|
||||
* @param \Illuminate\Routing\Router $router
|
||||
* @return void
|
||||
*/
|
||||
public function boot(Router $router)
|
||||
{
|
||||
parent::boot($router);
|
||||
//filter should be registered here
|
||||
// Route::filter('filter.name',function($route, $request){ .... });
|
||||
/**
|
||||
* Define your route model bindings, pattern filters, etc.
|
||||
* @param \Illuminate\Routing\Router $router
|
||||
* @return void
|
||||
*/
|
||||
public function boot(Router $router)
|
||||
{
|
||||
parent::boot($router);
|
||||
//filter should be registered here
|
||||
// Route::filter('filter.name',function($route, $request){ .... });
|
||||
}
|
||||
|
||||
Route::filter("ssl", function () {
|
||||
if (!Request::secure() && Config::get("server.ssl_enabled", false))
|
||||
{
|
||||
return Redirect::secure(Request::getRequestUri());
|
||||
}
|
||||
});
|
||||
|
||||
Route::filter("oauth2.enabled", function () {
|
||||
if (!Config::get("server.oauth2_enabled", true))
|
||||
{
|
||||
return View::make('errors.404');
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
* Define the routes for the application.
|
||||
*
|
||||
* @param \Illuminate\Routing\Router $router
|
||||
* @return void
|
||||
*/
|
||||
public function map(Router $router)
|
||||
{
|
||||
$router->group(['namespace' => $this->namespace], function ($router) {
|
||||
require app_path('Http/routes.php');
|
||||
});
|
||||
}
|
||||
/**
|
||||
* Define the routes for the application.
|
||||
* @param \Illuminate\Routing\Router $router
|
||||
* @return void
|
||||
*/
|
||||
public function map(Router $router)
|
||||
{
|
||||
$router->group(['namespace' => $this->namespace], function ($router) {
|
||||
require app_path('Http/routes.php');
|
||||
});
|
||||
}
|
||||
|
||||
}
|
@ -15,7 +15,6 @@
|
||||
return array
|
||||
(
|
||||
'ssl_enabled' => env('SSL_ENABLED', false),
|
||||
'oauth2_enabled' => env('OAUTH2_ENABLED', true),
|
||||
'db_log_enabled' => env('DB_LOG_ENABLED', false),
|
||||
'access_token_cache_lifetime' => env('ACCESS_TOKEN_CACHE_LIFETIME', 300),
|
||||
'assets_base_url' => env('ASSETS_BASE_URL', null),
|
||||
|
Loading…
x
Reference in New Issue
Block a user