I have done some research on the Storefront API and there are a few APIs to manipulate customers' data, such as customerCreate, customerReset and so on.
But I am not sure whether I could fully customize the page such as user login/registration/reset password.
take the user's registration as an example. I am going to submit the user's information such as email, password and so on to my own server. I will check the rules as my own and then save it to my own database. After that, I use the GraphQL mutation to create a customer to the Shopify.
Is it allowed or feasibility? Thanks in advance.
You can't persist passwords against a customer, or authenticate against a customer in any way.
However, if you're authenticating customers within your own app/site, you could then associate an order via the API to that Shopify customer