Before anything else, thanks for the reply. I deeply appreciate it.
I'm just sad that I can't comprehend everything you just typed for several reasons:
0 - I am still a student learning bunch of stuff all at the same time so everything is kinda confusing and reverse engineering other people's works is kinda impossible as of the moment. I'm really sorry if I can't comprehend your instructions yet. What I'm currently learning are not even within my school's curriculum but I really really wanted to create my own auth server using yours. I feel like it'll be a useful experience for my future projects. Not relying on Auth0, Firebase, AWS Cognito, Netlify Identity, and many more might really be possible if I can understand how FusionAuth works.
1 - I'm not really good with Docker. I just ask help from KintoHub devs (on their Discord Server) when building a Dockerfile to be deployed on their server. They are really accommodating and I am also rooting for their success just like how I am rooting for you, guys. Both of your technologies are new to the market but I can see that you have limitless potentials. Just thinking about both of your techs to succeed in the future makes me really excited. Maybe you can partner up with them so that you can have "One Click Deploy to KintoHub" just like like Hasura's "One Click Deploy to Heroku"? Dunno, might be both good advertisement for both of your techs.
2 - The only experience that I had that is related to authentication service is using Laravel's built in authentication/authorization. They have this /login RESTful endpoint where we can send a POST request with user login info in its body then the Laravel API tries to authenticate and if authenticated, it will either send a cookie or a JWT which we can pass back and forth for every resource request. Then it has this /register and /logout endpoints as well.
3 - After reading the Gatsby-FusionAuth tutorial, I read that it requires another NodeJS backend which made me step back a little. In the first place, the reason why I want to create my own auth server is for it to be the sole authentication microservice between Gatsby and Hasura. Putting another NodeJS between them adds more pain than solution for me because now I need to learn how to create a NodeJS server.
I'm really sorry if I just wasted your precious time. Thanks for replying. I hope there'll be someone who can create a tailored solution for my dream stack: Hasura + FusionAuth + Gatsby. I guess for now, it'll be just Hasura + Auth0 + Gatsby. All I can do is hope for now...