我尝试使用Laravel和联盟OAuth2客户端使用Facebook进行社交登录,但我收到此错误:
Required option not passed: access_token Array ( [{"error":{"message":"Error_validating_client_secret_","type":"OAuthException","code":1}}] => )
我已经按照github包中的说明进行了操作,但我无法使用它。
我的控制器操作代码:
$facebook = $this->socialRepository->facebookLogin();
$code = \Input::get("code");
if(!isset($code)) {
$authURL = $facebook->getAuthorizationUrl();
return \Redirect::away($authURL);
} else {
$token = $facebook->getAccessToken('authorization_code', ['code' => $code]);
try {
$userDetails = $facebook->getUserDetails($token);
dd($userDetails);
} catch (\Exception $e) {}
}
存储库代码:
public function facebookLogin()
{
return new Facebook(
[
'clientId' => $this->config->get("social.facebook.clientID"),
'clientSecret' => $this->config->get("social.facebook.clientSercret"),
'redirectUri' => $this->config->get("social.facebook.redirectUri"),
'scopes' => $this->config->get("social.facebook.scopes"),
]
);
}
答案 0 :(得分:1)
当重定向网址,应用ID或密码不正确时,通常会发生这种情况。 例如,
'clientSecret' => $this->config->get("social.facebook.clientSercret"),
您的意思是social.facebook.clientSercret
而不是social.facebook.clientSecret
(没有额外的r
)