首页 > 解决方案 > session(['key' => 'value']) 和 session()->get('key') 返回 null

问题描述

生成 access_token 的登录方法:

        $response = $this->api_client->request(
            'POST',
            '/oauth2/token',
            ['form_params' => $data]
        );

        $response_body = json_decode($response->getBody()->getContents(), true);

        **$access_token** = $response_body['access_token'];

         //var_dump($access_token) -> returns the token

        session(['access_token'=>$access_token]); //dd() on this returns null 

在转储 '$access_token' 时,它会返回自动生成的令牌,但是当我尝试使用 'key' => 'value' 对将它分配给 session() 时,它会返回 null。

我目前正在使用 laravel 5.5,甚至尝试使用“会话”,仍然遇到同样的问题。有没有可能的方法在另一个类或存储库中使用这个“$ access_token”,并传递实际数据。

我试图访问令牌的控制器:

public $apiClient, $contentClient, $accessToken;

public function __construct(Dropbox $dropbox)
{
    $this->apiClient = $dropbox->api();
    $this->contentClient = $dropbox->content();
    $this->accessToken = session('access_token');
}

我在网上搜索过,并没有找到对这个特定问题的满意答案。请你帮助我好吗?

标签: phplaravelsession

解决方案


由于您有“管理员”中间件,然后尝试在您的路由中添加“网络”中间件,它看起来像这样。

'middleware' => ['admin', 'web']

推荐阅读