public function social(ClientInterface $client) { $user_data = new UserData($client->getName(), $client->getUserAttributes()); if (Yii::$app->user->isGuest) { $user = User::findSocial($user_data->getObjectName(), $user_data->getObjectName()); if ($user) { Login::login($user); } else { $user_data->save(); } } else { User::saveSocial(Yii::$app->user->identity, $user_data); } Yii::$app->session->set('social', $client->getName()); }
public static function saveSocial(User $model, UserData $user_data) { $model->{$user_data->getObjectName()} = $user_data->id; $model->save(); $user_data->save(); }