[ (new LoginFlow(LoginType::PASSWORD))->toArray(), ], ]); } /** * POST /_matrix/client/v3/login */ public function login(): Response { $request = Request::createFromGlobals(); $content = json_decode($request->getContent(), true); // validate login type $loginType = null; try { $loginType = LoginType::from($content["type"]); } catch (\ValueError $error) { throw new UnknownError("Bad login type.", Response::HTTP_BAD_REQUEST); } // get user name $user = Parser::parseUser($content["identifier"]["user"]); #if ($loginType == LoginType::PASSWORD) {} return new JsonResponse([ "access_token" => "abc123", "device_id" => "ABC", "expires_in_ms" => 60000, "refresh_token" => "def456", "user_id" => "@{$user["username"]}:{$_ENV["DOMAIN"]}", #"well_known" => [], ]); } }