所以我意识到,在通过OAuth2对用户进行身份验证时,Laravel 5.1无法使用会话来存储Dropbox SDK所需的CSRF令牌。为了解决这个问题,我跟着this great post使用了this provider和Laravel 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();
}
}
答案 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'),
],
希望能帮助别人!