shin1x1/laravel-force-https-url-scheme

Force https url schema middleware for Laravel 5
26,578 25
Install
composer require shin1x1/laravel-force-https-url-scheme
License:MIT
Last Updated:Jun 1, 2017
Links: GitHub  ·  Packagist
Maintainer: shin1x1

laravel-force-https-url-scheme

Force https url schema middleware for Laravel 5

Build Status Latest Stable Version

Install

$ composer require shin1x1/laravel-force-https-url-scheme

Usage

This package provide to redirect http to https. It's implemented Illuminate\Contracts\Routing\Middleware interface that means you can use it as Laravel middleware. This feature is enabled in production environments only.

As global HTTP middleware

  • app/Http/Kernel.php
<?php namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{

    /**
     * The application's global HTTP middleware stack.
     *
     * @var array
     */
    protected $middleware = [
        'Illuminate\Foundation\Http\Middleware\CheckForMaintenanceMode',
        'Shin1x1\ForceHttpsUrlScheme\ForceHttpsUrlScheme', // <---added
        'Illuminate\Cookie\Middleware\EncryptCookies',
        'Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse',
        'Illuminate\Session\Middleware\StartSession',
        'Illuminate\View\Middleware\ShareErrorsFromSession',
        'App\Http\Middleware\VerifyCsrfToken',
    ];}

As route middleware

  • app/Http/Kernel.php
<?php namespace App\Http;

use Illuminate\Foundation\Http\Kernel as HttpKernel;

class Kernel extends HttpKernel
{
(snip)
    /**
     * The application's route middleware.
     *
     * @var array
     */
    protected $routeMiddleware = [
        'auth' => 'App\Http\Middleware\Authenticate',
        'auth.basic' => 'Illuminate\Auth\Middleware\AuthenticateWithBasicAuth',
        'guest' => 'App\Http\Middleware\RedirectIfAuthenticated',
        'force_https_url_scheme' => 'Shin1x1\ForceHttpsUrlScheme\ForceHttpsUrlScheme', // <---added 
    ];
}
  • app/Http/routes.php
Route::group(['middleware' => 'force_https_url_scheme'], function () {
    get('/admin/', function () {
        // something here
    });
});