/** * Execute the console command. * * @return mixed */ public function handle() { $user_email = $this->argument('email'); if (!($system_user = User::where("email", $user_email)->first())) { $password = $this->createSystemUser($user_email); $system_user = User::where("email", $user_email)->first(); $this->info(sprintf("New System user with username %s and password %s made", $user_email, $password)); } $reset_password = $this->argument('reset-secret'); if ($user = OauthClient::where('name', $user_email)->first()) { $client_id = $user->id; if (!$reset_password) { $this->error("User already exists try the update reset-secret switch"); exit; } else { $client_secret = $this->getService()->updateClientSecret($user); $this->info("Updated Client Secret {$client_secret}"); $this->info("For Client Id {$client_id}"); exit; } } $datetime = Carbon::now(); $client_id = Uuid::uuid4()->toString(); $client_secret = Str::random(); $this->getService()->createOauthClient($client_id, $client_secret, $user_email, $datetime, $system_user->id); $this->info("Your Client_secret was set to {$client_secret}"); $this->info("Your Client_id was set to {$client_id}"); $this->info("Your name is {$user_email}"); }
public function createOauthClient($client_id = false, $client_secret = false, $user_email, $datetime = false, $user_id) { if ($client_id == false) { $client_id = $this->getUuid(); } if ($client_secret == false) { $client_secret = Str::random(); } if ($datetime == false) { $datetime = Carbon::create()->addYears(10)->timestamp; } $client = new OauthClient(); $client->id = $client_id; $client->secret = $client_secret; $client->name = $user_email; $client->created_at = $datetime; $client->updated_at = $datetime; $client->user_id = $user_id; $client->save(); return $client_id; }