【发布时间】:2014-03-10 08:38:02
【问题描述】:
当我尝试使用 oauth-4-laravel 通过 Facebook 登录我的网站时,我从 Laravel 收到 TokenResponseException。
OAuth \ Common \ Http \ Exception \ TokenResponseException
Failed to request resource.
使用 Facebook 的 JavaScript API 可以正常工作,所以我很确定我的应用程序配置正确。
是否有任何已知问题可能导致此问题?是我做错了什么,还是库中的错误?
除了 works around another bug 的重定向行之外,我的代码与 GitHub 页面上的示例代码相同。我认为当我尝试从 Facebook 服务对象获取令牌时会引发异常。
代码如下:
public function loginWithFacebook() {
// get data from input
$code = Input::get( 'code' );
// get fb service
$fb = OAuth::consumer( 'Facebook' );
// check if code is valid
// if code is provided get user data and sign in
if ( !empty( $code ) ) {
// This was a callback request from google, get the token
$token = $fb->requestAccessToken( $code );
// Send a request with it
$result = json_decode( $fb->request( '/me' ), true );
$message = 'Your unique facebook user id is: ' . $result['id'] . ' and your name is ' . $result['name'];
echo $message. "<br/>";
//Var_dump
//display whole array().
dd($result);
}
// if not ask for permission first
else {
// get fb authorization
$url = $fb->getAuthorizationUri();
// return to facebook login url
// ref: https://github.com/artdarek/oauth-4-laravel/issues/27
//return Response::make()->header( 'Location', (string)$url );
return Redirect::to((string)$url);
}
}
还有一个screenshot:
【问题讨论】:
标签: php facebook oauth laravel laravel-4