2

我正在构建一个 MERN 堆栈应用程序并尝试使用 connect-wwwhisper包来保护对我托管的应用程序(测试 beta 版本)的访问。我在 Node js 后端使用护照身份验证进行用户身份验证,但我想wwwhisper在整个应用程序上分层包,这样只有拥有批准电子邮件的人才能访问整个应用程序,而不会干扰我设置的护照身份验证。我已经wwwhisper按照文档进行了设置: https ://devcenter.heroku.com/articles/wwwhisper 但是与 redux thunk 中间件存在冲突,导致下面的 redux js 文件中出现类型错误:

    function compose() {
    for (var _len = arguments.length, funcs = new Array(_len), _key = 
    0; 
    _key < _len; _key++) {
    funcs[_key] = arguments[_key];
    }

    if (funcs.length === 0) {
    return function (arg) {
      return arg;
    };
    }

    if (funcs.length === 1) {
    return funcs[0];
    }

    return funcs.reduce(function (a, b) {
    return function () {
      return a(b.apply(void 0, arguments));

错误信息是: Uncaught TypeError: Cannot read property 'apply' of undefined

在我的服务器 js 文件中,我使用以下命令将请求定向到应用程序反应端的 index.html 文件。对后端 api 的所有其他请求都使用

    app.use("routename");

    if (process.env.NODE_ENV === "production") {
      app.use(express.static("client/build"));
      app.get("*", (req, res) => {
      res.sendFile(path.resolve(__dirname, "client", "build", 
      "index.html"));
     });
     }

中间件确实保护应用程序并发送标记化链接以访问应用程序,wwwhisper但是当我尝试访问应用程序时,我收到上述错误消息以及表示令牌未经授权的消息。中间件的作者wwwhisper并不熟悉中间件如何wwwhisper与 Redux thunk 中间件进行交互。我怎样才能让它工作?我已经编程了大约一年,因此感谢您提供任何帮助。

4

0 回答 0