I don't think that there is any other way than calling the authentication with a route.
Effectively you are handling APIs and your frontend will execute actions only via the APIs routes. That's the only way to communicate between the backend and the frontend.