mis*_*irl 10 php facebook oauth facebook-graph-api
我已经使用Laravel SocialiteFacebook 进行社交登录,它运行良好.我没有改变任何东西,现在它没有用.它在尝试登录时显示此错误:
Client error:POST https://graph.facebook.com/oauth/access_tokenresulted in a 400 Bad Requestresponse:
{"error":{"message":"This IP can't make requests for that application.","type":"OAuthException","code":5,"fbtrace_id":"D (truncated...)
我没有更改我的Facebook应用程序中的设置,也没有更改我的代码.我的代码如下:
Route::get('login', ['as' =>'getLogin', 'uses'=>'Auth\AuthController@getLogin']);
Route::get('handleProviderCallback/{provider}', 'Auth\AuthController@handleProviderCallback');Run Code Online (Sandbox Code Playgroud)
public function login($provider = false)
{
if(!$provider) {
$user = Input::all();
$auth_user = new AuthenticateUser();
$is_logged = $auth_user->findByEmailOrCreate($user, false);
if($is_logged) {
Session::put('user', Auth::user());
Session::put('user_id', Auth::user()->id);
Session::put('email', Auth::user()->email);
Session::put('name', Auth::user()->name);
return redirect()->intended('dashboard');
}
return redirect('/')->withInput()->with('error', 'Wrong username or password!');
}
return \Socialite::with('facebook')->redirect();
}
public function handleProviderCallback($provider=false) {
if(Input::has('code')) {
$user = \Socialite::with($provider)->user();
$auth_user = new AuthenticateUser();
$provider_user = $auth_user->findByEmailOrCreate($user, $provider);
Session::put("user", array($provider_user));
Session::put('user_id', $provider_user->id);
Session::put('email',$provider_user->email);
Session::put('name',$provider_user->name);
return redirect('dashboard');
}
}Run Code Online (Sandbox Code Playgroud)
问题出现在handleProviderCallback此行的方法中:
$user = \Socialite::with($provider)->user();.
当我只转储这个:
$user = \Socialite::with($provider)
它显示数据但是当它被用于获取用户数据时它会返回错误:
$user = \Socialite::with($provider)->user();
在config/services.php我设置像这个例子的设置:
'facebook' => [
'client_id' => 'my-client-id-from-fb-app',
'client_secret' => 'my-secret-code-from-fb-app',
'redirect' => 'http://my-example-domain/my-site/handleProviderCallback/facebook'
],Run Code Online (Sandbox Code Playgroud)
在我的Facebook应用程序中,我设置了以下设置:
App Domains: my-example-domain,
Privacy Policy URL: http://my-example-domain/my-site/,
Site URL: http://my-example-domain/my-site/handleProviderCallback/facebook,
Valid OAuth redirect URIs: http://my-example-domain/my-site/handleProviderCallback/facebook
从 .env 文件获取密钥值后,我在本地计算机上收到此消息
ClientException in RequestException.php line 111:
enter code here Client error: `POST
https://graph.facebook.com/v2.8/oauth/access_token` resulted in a `400
Bad Request` response:
{"error":{"message":"Error validating client
secret.","type":"OAuthException","code":1,"fbtrace_id":"ID"}}
Run Code Online (Sandbox Code Playgroud)
正如预期的问题是密钥,我粘贴错误,所以经过仔细检查并从 Facebook 正确复制/过去后,一切正常。
希望这些信息会对某人有所帮助。
| 归档时间: |
|
| 查看次数: |
6299 次 |
| 最近记录: |