User Authentication Explained with ReactJS and SuperTokens