2016-12-04 145 views
0

我试图通过Facebook上我的网站正在使用Yii2框架构建,以激活登录,但登录时总是失败,尽管Facebook的应用程序被授权在使用Facebook帐户登录。Yii2 Facebook的登录问题:错误验证客户端密钥

的反应总是这样一个错误:

Request failed with code: 400, message: Error validating client secret.

进出口使用yii2的authclient:

return [ 
    'class' => 'yii\authclient\Collection', 
    'clients' => [ 
    'facebook' => [ 
     'class' => 'yii\authclient\clients\Facebook', 
     'authUrl' => 'facebook.com/dialog/oauth', 

     //Prod 
     'clientId' => 'appidhere', 
     'clientSecret' => 'appsecrethere', 



     'scope' => 'email, user_friends, public_profile', 

    ..... 

应用程序ID和应用机密是正确的,而FB应用程序设置是否正确,以及。

这里的要求是什么样子:

yii\httpclient\Request Object ([_url:yii\httpclient\Request:private] => graph.facebook.com/oauth/access_token [_fullUrl:yii\httpclient\Request:private] => [_method:yii\httpclient\Request:private] => POST [_options:yii\httpclient\Request:private] => Array ([userAgent] => My Application OAuth 2.0 Client [timeout] => 30 [sslVerifyPeer] =>) [isPrepared:yii\httpclient\Request:private] => [client] => yii\httpclient\Client Object ([baseUrl] => graph.facebook.com [formatters] => Array () [parsers] => Array () [requestConfig] => Array () [responseConfig] => Array () [contentLoggingMaxSize] => 2000 [_transport:yii\httpclient\Client:private] => yii\httpclient\StreamTransport [_events:yii\base\Component:private] => Array () [_behaviors:yii\base\Component:private] =>) [_headers:yii\httpclient\Message:private] => [_cookies:yii\httpclient\Message:private] => [_content:yii\httpclient\Message:private] => [_data:yii\httpclient\Message:private] => Array ([client_id] => realappidhere [client_secret] => ​realappsecrethere [code] => AQAr0KRC0m4V4lqD8LVcQLNjn76xkZS4skQYAvWf6O_DDeEclaj1LMQm_HoyCoZZezqDn7p9YfJm3qENabU8MKvmH1ffNJotMzgLW2XTbSqQEXlkg_sx7V-ibXRFagpfXTIqCp9Kr54O88bNYGikoOr4TM1ogGjViwS-qKLbvpR_vWgE_FPy9ecpgy86QOITpGrlVJaPAun2bzGaFXmU70Z4Kw3kBWUBPseWc_7ILGymZP-CIbRIIm_YZ8p7t9Vo7jZmieMSd-CMYfG0sgJcBjOgQNvsa3xtHNhPVa5BJNNTy89zulSpTAf3XB6HB_8eql0 [grant_type] => authorization_code [redirect_uri] => example.com/site/auth?role=influencer&authclient=facebook) [_format:yii\httpclient\Message:private] => [_events:yii\base\Component:private] => Array () [_behaviors:yii\base\Component:private] =>)

和响应是:

yii\httpclient\Response Object ([client] => yii\httpclient\Client Object ([baseUrl] => graph.facebook.com [formatters] => Array ([urlencoded] => yii\httpclient\UrlEncodedFormatter Object ( [encodingType] => 1 [charset] =>)) [parsers] => Array () [requestConfig] => Array () [responseConfig] => Array () [contentLoggingMaxSize] => 2000 [_transport:yii\httpclient\Client:private] => yii\httpclient\StreamTransport Object ( [_events:yii\base\Component:private] => Array () [_behaviors:yii\base\Component:private] =>) [_events:yii\base\Component:private] => Array () [_behaviors:yii\base\Component:private] => Array ()) [_headers:yii\httpclient\Message:private] => Array ([0] =>HTTP/1.1 400 Bad Request [1] => WWW-Authenticate: OAuth "Facebook Platform" "invalid_request" "Error validating client secret." [2] => Access-Control-Allow-Origin: * [3] => Pragma: no-cache [4] => Cache-Control: no-store [5] => facebook-api-version: v2.2 [6] => Expires: Sat, 01 Jan 2000 00:00:00 GMT [7] => Content-Type: text/javascript; charset=UTF-8 [8] => x-fb-trace-id: Ek0PFIJ3B3N [9] => x-fb-rev: 2718923 [10] => Vary: Accept-Encoding [11] => X-FB-Debug: yaiIHJkwC4T3UZKrzXOJGJ2DmCTaDr8nIRB3jQnNeEiknx0Ph7i2IR5XmAbxpjM7cBhSEy44AcrglCYEdZEmeg== [12] => Date: Sun, 04 Dec 2016 11:08:16 GMT [13] => Connection: close [14] => Content-Length: 115) [_cookies:yii\httpclient\Message:private] => [_content:yii\httpclient\Message:private] => > {"error":{"message":"Error validating client secret.","type":"OAuthException","code":1,"fbtrace_id":"Ek0PFIJ3B3N"}} [_data:yii\httpclient\Message:private] => [_format:yii\httpclient\Message:private] => [_events:yii\base\Component:private] => Array () [_behaviors:yii\base\Component:private] =>)

所以任何想法正在发生的事情吗?

注:我删除从报价facebook的链接http和https,因为计算器不会让我上传超过2个链接。

+0

yii2-authclient的哪个版本有什么? – Bizley

+0

“yiisoft/yii2-authclient”:“〜2.1.0” – Emma

+0

我找不到一个比由错误信息提示任何其他解决方案 - 的clientId和clientSecret的组合必须是错误的,这个特定的应用。请仔细检查。 – Bizley

回答