0
I’m currently working on a React application with an Express.js backend where I’m trying to authenticate users using the Auth0 package. I have a setup where the frontend and backend communicate through API requests.
In my React app, I’m encountering an error: “Service not found: http://localhost:5000” when trying to make a request from the frontend to the backend after obtaining an access token. I’ve checked the configurations and URLs, but I can’t seem to pinpoint the issue.
Here’s the relevant code:
Frontend: I’m using the useMutation hook to make the API request after obtaining the access token.
const { mutate } = useMutation({
mutationKey: [user?.email],
mutationFn: async (token) => {
try {
await ApiInstance.post(
Endpoints.createUser,
{
email: user?.email,
},
{
headers: {
Authorization: `Bearer ${token}`,
},
}
);
} catch (error) {
console.error("An error occurred:", error);
throw error;
}
},
});
Backend: I’m using the express-oauth2-jwt-bearer package to perform JWT token validation.
import { auth } from "express-oauth2-jwt-bearer";
export const jwtCheck = auth({
audience: "http://localhost:5000",
issuerBaseURL: "https://MY_DOMAIN.auth0.com",
tokenSigningAlg: "RS256",
});
I’ve verified that the URLs, CORS configuration, and token audience match on both the frontend and backend. The Express.js server is running on http://localhost:5000.
What could be causing this “Service not found” error? Are there any common pitfalls or misconfigurations I should be aware of when setting up this type of authentication flow between a React app and an Express.js backend?
Any help or insights would be greatly appreciated. Thank you!