2014-01-24 100 views
0

我在我的laravel應用程序中實現了一個OAuth 1.0a客戶端。我想存儲臨時憑證和我在用戶會話中獲得的訪問令牌。Laravel的會話變量消失

作爲一個POC,我使用$ _SESSION變量使用PHP本地會話構建了我的代碼。像魅力一樣工作。但是,我想移動我的代碼並改用laravel的Session類。這就是我意識到,不知何故laravel沒有保存我的會話數據。

下面是有關代碼的主要部分:

if (Input::get('release_name')) // ask for auth 
    { 
     $temporary_credentials = $server->getTemporaryCredentials(); 

     Session::put("temporary_credentials", serialize($temporary_credentials)); 
     $this->customLog(Session::get("temporary_credentials")); // this prints the string representation of my credentials 

     return $server->authorize($temporary_credentials); 
    } 

    else if (Input::get('oauth_token') && Input::get('oauth_verifier')) // got back from provider 
    { 
     $this->customLog(Session::get("temporary_credentials")); 
        // here the Session::get returns null 
    } 

任何想法,爲什麼我temporary_credentials得到了「歸零」,在第二個步驟?

快速編輯:我正在使用'文件'驅動程序

謝謝!

+0

'/ app/storage/sessions'是否有權限讀/寫/執行文件? –

+0

是的,它確實有 – Rommy

回答

0

所以,如果有人試圖一個laravel應用程序中實現聯盟的Oauth V1客戶端,所有你需要做的,讓會話的工作就是要改變這種

header('Location: '.$url); 

這個

return \Illuminate\Support\Facades\Redirect::to($url); 
+1

這個改變應該在哪裏進行? – sudshekhar