У меня есть следующая express. js конфигурация:
app.use(morgan("dev"));
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({
extended: true
}));
app.use(cors());
app.use("/user", userRoutes);
app.use("/case", caseRoutes);
app.use("/admin", adminRoutes);
app.use("/auth", authRoutes);
app.use("/files", fileRoutes);
app.use("/fileAws", fileAwsRoute);
app.use("/codes", codeRoute);
app.use("/payments", paymentsRoute);
if (process.env.NODE_ENV === "production") {
// Serve any static files
app.use(express.static(path.join(__dirname, "../../client/build")));
// Handle React routing, return all requests to React app
app.get("*", function(req, res) {
res.sendFile(path.join(__dirname, "../../client/build", "index.html"));
});
}
Я обслуживаю свой интерфейс из моего бэкэнда (Express). Это прекрасно работает во время развертывания, но у меня возникла проблема с развертыванием. В моей конфигурации мне нужно предоставить URL-адрес для обратного вызова для Intuit API:
exports.getIntuitRedirectUri = () => {
return process.env.INTUIT_REDIRECT_URI || require("./config").QB.intuitRedirectURI;
};
В моей среде разработчика для этого задано следующее:
intuitRedirectURI: "http://localhost:5000/payments/callback"
Однако при развертывании приложение для Heroku, это не работает, так как я обслуживаю интерфейс из моего бэкэнда. Кроме того, я попытался сделать https://appname.herokuapp.com/payments/callback
и /payments/callback
, это также не работает. У кого-нибудь есть предложения о том, как получить доступ к этому обратному вызову из моего развернутого приложения в Heroku?