We use GraphQL and the Apollo Client to fetch and update data on the backend. The Apollo Client is configured in the apollo.config.js file. The Apollo Client Provider is then used in the src/pages/_app.tsx file to wrap the whole application. This way, the Apollo Client is available in all components.
Our backend communication is via Azure data store and service access requires authentication.