Код: Выделить всё
object(yii\authclient\OAuthToken)[116]
public 'tokenParamKey' => string 'access_token' (length=12)
public 'tokenSecretParamKey' => string 'oauth_token_secret' (length=18)
public 'createTimestamp' => int 1431278283
private '_expireDurationParamKey' => string 'expires_in' (length=10)
private '_params' =>
array (size=4)
'access_token' => string '8dbdab190e5d4e5d6f4617ca05eebc8767306d84cce0bd30cf002662d94125c60d71' (length=85)
'expires_in' => int 86399
'user_id' => int 93807
'email' => string '404@gmail.com'
Код: Выделить всё
public function successOAuthCallback($client)
{
$attributes = $client->getUserAttributes();
/*
try {
$emails = $client->api('');
} catch (\yii\authclient\InvalidResponseException $e) {
// no email :-(
}*/
$user = User::find()->where([
'oauth_client' => $client->getName(),
'oauth_client_user_id' => ArrayHelper::getValue($attributes, 'id')
])->one();
if (!$user) {
$user = new User();
$user->scenario = 'oauth_create';
$user->email = $emails;
$user->oauth_client = $client->getName();
$user->oauth_client_user_id = ArrayHelper::getValue($attributes, 'id');
$password = Yii::$app->security->generateRandomString(8);
$user->setPassword($password);
if ($user->save()) {
$user->afterSignup();
}
}
}