I'm creating an app where access is only allowed using email authentication, but want to disable account creation so not any person can just sign up and access the app.
This isn't currently possible, although it is likely to be possible in the future through Cloud Functions (see here).
For the moment the best you can do is check whether the signed in user is allowed access to your backend resources when they access them. If you're using Firebase backend services such as the Realtime Database, Cloud Firestore, or Cloud Storage, you do this through their server-side security rules.