【问题标题】:RuntimeException - Session store not set on request - Laravel Socialite - FacebookRuntimeException - 会话存储未按请求设置 - Laravel Socialite - Facebook
【发布时间】:2018-10-22 00:53:22
【问题描述】:

我正在使用Laravel 5.7Laravel/Socialite 3.1

我想使用我刚刚为此项目配置的Facebook 应用程序登录。

这些是我为此配置的主要文件:

/.env

...
FACEBOOK_CLIENT_ID=***
FACEBOOK_CLIENT_SECRET=***
FACEBOOK_CALLBACK_URL=http://localhost:8000/auth/facebook/callback

/config/services.php

<?php

return [
    ...
    'facebook' => [
        'client_id' => env('FACEBOOK_CLIENT_ID'),
        'client_secret' => env('FACEBOOK_CLIENT_SECRET'),
        'redirect' => env('FACEBOOK_CALLBACK_URL'),

    ],
];

/routes/api.php

<?php

use Illuminate\Http\Request;

...

Route::get('auth/facebook', 'SocialiteController@redirectToProviderFacebook');
Route::get('auth/facebook/callback', 'SocialiteController@handleProviderCallbackFacebook');

/app/Http/Controllers/SocialiteController.php

<?php

namespace App\Http\Controllers;

use Socialite;

class SocialiteController extends Controller
{
    public function redirectToProviderFacebook()
    {
        return Socialite::driver('facebook')->redirect();
    }

    public function handleProviderCallbackFacebook()
    {
        $user = Socialite::driver('facebook')->user();
        print_r($user->token);
    }
}

我的问题是由于某种原因我得到了错误:

RuntimeException
Session store not set on request.

如下图所示:

我根本不想在这个项目上使用会话。我只想从Facebook 里面的回调中获取tokenfunction handleProviderCallbackFacebook()

关于如何解决这个问题的任何想法?

谢谢!

【问题讨论】:

    标签: php laravel facebook laravel-socialite laravel-5.7


    【解决方案1】:

    来自社交名媛documentation

    无状态方法可用于禁用会话状态验证。这在向 API 添加社交身份验证时很有用:

    return Socialite::driver('google')-&gt;stateless()-&gt;user();

    【讨论】:

      猜你喜欢
      • 2016-11-17
      • 2016-03-30
      • 2023-03-22
      • 2020-08-24
      • 2017-03-13
      • 2017-09-30
      • 1970-01-01
      • 2021-05-08
      • 2016-08-30
      相关资源
      最近更新 更多