model = $model; } public function authorize(): HttpResponse { return Control::runChecked([ "email" => [Validators::regex("/^\\S+@\\S+\\.\\S+$/"), Validators::lenBetween(5, 256)], "password" => [Validators::lenBetween(6, 256)], ], function (HttpRequest $req) { $failures = []; $account = $this->model->login($req["email"], $req["password"], $failures); if (!empty($failures)) { return new JsonHttpResponse($failures); } return new JsonHttpResponse(["authorization" => $account->getToken()]); }, true); } }