Подтвердить что ты не робот

Laravel 5: перенаправление на внешнюю ссылку за пределами локального хоста/сервера

Я хочу создать приложение с laravel 5 и API Dropbox, в котором я хочу, чтобы API allow/cancel-warning отображался, когда вы приземляетесь на главной странице, а не когда вы нажимаете кнопку. Я пробовал разные методы, но я не мог заставить его работать.

public function start(){
        session(['user_id'=>1]);
        $dKey = 'key';
        $dSecret = 'secret';
        $appName = 'app';

        $appInfo = new Dropbox\AppInfo($dKey,$dSecret);

        //store csrf token
        $tokenStore = new  Dropbox\ArrayEntryStore($_SESSION,'dropbox-auth-csrf-token');
        //define auth details
        $this->webAuth = new Dropbox\WebAuth($appInfo,$appName,'http://localhost:8000/dropbox/finish',$tokenStore);
        $this->checkSession();
    }

    public function checkSession(){
        $users = User::where('id','=',session('user_id'))->get();

        if(isset($user[0]->dropbox_token)){

        }
        else{
            $url = $this->webAuth->start();

            //return Redirect::to($url);
            //return Redirect::away($url);
            //header('Location : '.$url);
        }

    }

Ссылка в $url существует и ее действительная.

Эти (последние 3 комментария метода) являются методами, которые я пытался, включая return redirect ($ url), можно ли это сделать или я трачу свое время на это? Пожалуйста, помогите мне.

4b9b3361

Ответ 1

Этот код работает для меня:

return redirect()->away('https://www.dropbox.com');

Убедитесь, что вы также добавили возврат (т.е. return $this->checkSession();) в start().

Ответ 2

Ниже будет работать

return redirect()->away('http://www.paypal.com');

И это также будет работать.

return redirect('http://www.paypal.com');

Ответ 3

Для https и такого использования используйте

return redirect()->to($refererUrl);