現在用yii2-authclient的Facebook登錄我的網站,像這樣的Yii2 authclient
yii\authclient\clients\Facebook Object ([authUrl] => https://www.facebook.com/dialog/oauth?display=popup [tokenUrl] => https://graph.facebook.com/oauth/access_token [apiBaseUrl] => https://graph.facebook.com [scope] => email [version] => 2.0 [clientId] => *******[clientSecret] => ********[_returnUrl:yii\authclient\BaseOAuth:private] => http://www.usermodule.com/index.php?r=site%2Fauth&authclient=facebook [_curlOptions:yii\authclient\BaseOAuth:private] => Array () [_accessToken:yii\authclient\BaseOAuth:private] => yii\authclient\OAuthToken Object ([tokenParamKey] => access_token [tokenSecretParamKey] => oauth_token_secret [createTimestamp] => 1436772538 [_expireDurationParamKey:yii\authclient\OAuthToken:private] => [_params:yii\authclient\OAuthToken:private] => Array ([access_token] => ****************************** [expires] => 5182933)) [_signatureMethod:yii\authclient\BaseOAuth:private] => Array () [_id:yii\authclient\BaseClient:private] => facebook [_name:yii\authclient\BaseClient:private] => [_title:yii\authclient\BaseClient:private] => [_userAttributes:yii\authclient\BaseClient:private] => [_normalizeUserAttributeMap:yii\authclient\BaseClient:private] => [_viewOptions:yii\authclient\BaseClient:private] => [_events:yii\base\Component:private] => Array () [_behaviors:yii\base\Component:private] =>) Array ([name] => **** [id] => *****)
這我得到響應不返回用戶的電子郵件ID是我的配置
'authClientCollection' => [
'class' => 'yii\authclient\Collection',
'clients' => [
'facebook' => [
'class' => 'yii\authclient\clients\Facebook',
'clientId' => '***',
'clientSecret' => '****',
],
],
]
我能得到用戶名,用戶名,但不是用戶電子郵件ID爲什麼?我還應該做什麼?
很容易修改傳遞參數,它會工作'$ info = $ this-> makeSignedRequest('me',array( 'query'=> array( 'fields'=>'email,name,birthday,gender,link ,first_name,last_name,age_range', ), ));' –
何時調用$ this-> makeSignedRequest? sitecontroller? –