O Laravel possui sua própria biblioteca de geração de URLs, porém todas são geradas usando o protocolo HTTP. Aqui na UFRL estamos usando todos os sites pelo protocolo HTTPS, o que gera conflito nos links e formulário, mas há uma forma de corrigirmos isso.
Para que o programador possa dizer em qual protocolo o seu site está rodando, existe um método da classe URL que faz este trabalho. A utilização é a seguinte:
use Illuminate\Support\Facades\URL; . . . URL::forceScheme($schema);
Este método forceScheme deve ser utilizado dentro do método app/AppServiceProvider:boot. Para a solução criamos uma variável no arquivo .env de homologação e produção chamado APP_SCHEME que define o protocolo (http ou https). Se nada for informado, o padrão será HTTP.
Para inserir este código na aplicação, a forma correta está abaixo
<?php namespace App\Providers; use Illuminate\Support\ServiceProvider; use Illuminate\Support\Facades\URL; class AppServiceProvider extends ServiceProvider { /** * Bootstrap any application services. * * @return void */ public function boot() { // URL::forceScheme(env('APP_SCHEME','http')); } /** * Register any application services. * * @return void */ public function register() { // } }