使用Laravel 5.1 / Socialite / Dropbox SDK时未定义的索引:client_id

时间:2015-09-08 17:02:41

标签: php laravel-5.1 dropbox-php laravel-socialite

所以我意识到,在通过OAuth2对用户进行身份验证时,Laravel 5.1无法使用会话来存储Dropbox SDK所需的CSRF令牌。为了解决这个问题,我跟着this great post使用了this providerLaravel Socialite来为我调用OAuth2,但是,即使按照该文档的说法,我仍然会以下错误:

ErrorException in SocialiteManager.php line 91: Undefined index: client_id

我找不到client_id哪里甚至会成为流量中的索引,所以我对这一点感到非常困惑。任何帮助将非常感谢。

以下是为唤起Socialite / Dropbox服务提供商而被解雇的方法:

<?php

namespace App\Http\Controllers;

use Illuminate\Http\Request;

use App\Http\Requests;
use App\Http\Controllers\Controller;

// other Classes
use App\User;
use Hash;
use Input;
use Auth;
use DB;
use Socialize;

class UserController extends Controller
{
    public function showDropbox()
    {
        return Socialize::driver('dropbox')->redirect();
    }
}

1 个答案:

答案 0 :(得分:4)

这是非常简单的事情,对我来说是彻底的疏忽......我在教程所需的config/services.php文件中有错误的索引。

我有......

'dropbox' => [
    'redirect'  => env('DROPBOX_REDIRECT_URI'),
    'key'    => env('DROPBOX_KEY'),
    'secret' => env('DROPBOX_SECRET'),
],

......当我应该的时候:

'dropbox' => [
    'redirect'  => env('DROPBOX_REDIRECT_URI'),
    'client_id'    => env('DROPBOX_KEY'),
    'client_secret' => env('DROPBOX_SECRET'),
],

希望能帮助别人!