web-dev-qa-db-ja.com

Laravel 5:localhost / serverの外部の外部リンクにリダイレクト

laravel 5&dropbox APIを使用して、ボタンをクリックしたときではなくホームページを開いたときに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つのコメントされたメソッド)は、リダイレクト($ url)を含む私が試したメソッドです、これを行うことは可能ですか、これで私の時間を無駄にしていますか?.

19
She Fu

このコードは私のために働く:

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

return $this->checkSession();に戻り値(つまり、start())も追加してください。

36
smarx

以下のコードが機能します

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

そして、これも機能します。

return redirect('http://www.Paypal.com');
5
Pankaj Makwana

Httpsなどの場合は、次を使用します

return redirect()->to($refererUrl);
1
Harry Bosh