コード例 #1
0
ファイル: Auth.php プロジェクト: bariew/yii2-user-cms-module
 public static function clientUser(BaseOAuth $client)
 {
     $attributes = ['name' => $client->getName(), 'service_id' => $client->id];
     /**
      * @var self $model
      */
     if (!($model = self::findOne($attributes))) {
         $model = new self(array_merge($attributes, ['created_at' => time(), 'data' => json_encode($client->getUserAttributes())]));
         $model->save(false);
         $user = new User(['username' => $model->name . $model->id, 'status' => User::STATUS_ACTIVE]);
         $user->save(false);
         $model->updateAttributes(['user_id' => $user->id]);
         return $user;
     }
     return $model->user;
 }