Login flow with React