Интеграция Laravel и Local Tunnel - PullRequest
0 голосов
/ 23 октября 2018

Моя идея состояла в том, чтобы использовать субдомен Local Tunnel для более удобного представления URI обратного вызова.Тем не менее, я считаю, что мог бы достичь тех же результатов более простым способом.

Это решение с Laravel Valet:

In package.json I 'мы добавили скрипт с именем shared

"scripts": {
    ...
    "share": "lt --port 80 --subdomain blog --local-host blog.test"
}

В AppServiceProvider.php Я расширил UrlGenerator, чтобы избежать перенаправления обратно на http://blog.test

<?php

namespace App\Providers;

use App\Services\LocalTunnelUrlGenerator;
use Blade;
use Illuminate\Http\Resources\Json\Resource;
use Illuminate\Routing\Router;
use Illuminate\Routing\UrlGenerator;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        (...)
    }

    public function register()
    {
        $this->enableLocalTunnel();
    }

    private function enableLocalTunnel()
    {
        if (!app()->environment('local') || !config('app.use_local_tunnel')) {
            return;
        }

        $this->app->extend('url', function (UrlGenerator $defaultGenerator) {
            /** @var Router $router */
            $router = $this->app['router'];
            $routes = $router->getRoutes();

            return new LocalTunnelUrlGenerator($routes, $defaultGenerator->getRequest());
        });
    }
}

Это LocalTunnelUrlGenerator.php :

<?php

namespace App\Services;

use Illuminate\Http\Request;
use Illuminate\Routing\RouteCollection;
use Illuminate\Routing\UrlGenerator;

class LocalTunnelUrlGenerator extends UrlGenerator
{
    public function __construct(RouteCollection $routes, Request $request)
    {
        parent::__construct($routes, $request);
    }

    public function formatRoot($scheme, $root = null)
    {
        return "https://blog.localtunnel.me";
    }
}

Зачем все это?Поскольку всякий раз, когда приложение вызывает метод redirect(), нас отправляют обратно на http://blog.test.

where the problem happens

Действительно ли мне нужно расширить UrlGeneratorзаставить его работать?

...