首先通过节点后端传递所有http请求和React Routes以进行会话验证,然后返回路径

约翰·法萨诺

我正在尝试通过节点后端传递所有http请求和React Routes以验证会话。

我也在使用webpack-dev-server,所以我假设在我的开发环境中,我将需要使用代理功能。

但是一旦请求到达节点服务器,我就不确定如何将结果传递回前端并继续正常的路由器页面。

类似于:1.单击React Router链接到/ contact

  1. /节点中的联系路线验证会话

  2. 会话无效

  3. 如果有效,则继续正常页面加载

  4. 如果无效,请返回主页并更改状态。

我认为其中至少有一部分将通过生命周期方法来完成?

如果不使用React路由器以外的其他前端功能,是否有可能做到这一点。我想让此后端完全依赖于验证现有会话或生成一个新会话。

狂犬病

React在客户端处理所有路由,如果您想在Web应用程序外部访问/ contact,则必须具有以下内容:

app.get('*', (req, res) => {
  res.render('index');
});

如果要处理预定义的路线,也可以执行以下操作:

// Path can be anything you want check in this case any route
app.use('/', (req, res, next) => {
  const { token } = req.cookies;
  if (!token) {
    res.status(400).send({ data: 'error' });
  } else {
    // Verifying some token function
    verifyIdToken(token)
      .then((claims) => {
        // Perform some operations or assignments
        req.claims = claims;
        // Countinue
        next();
      })
      .catch((error) => {
        res.status(400).send({ data: 'error', message: error });
      });
  }
});

但是,如果您想验证客户端中的会话,我建议您调用“ / authenticate”路由,然后根据您的响应更新状态,例如:

我有一个Home组件,它仅对登录用户可见,因此我创建了一个高阶组件来包装它,如下所示:

hoc-admin.js

// Generic validation method
const isEmpty = prop => (
  prop === null ||
  prop === undefined ||
  (prop.hasOwnProperty('length') && prop.length === 0) ||
  (prop.constructor === Object && Object.keys(prop).length === 0)
);

// This receives the props I want to check and the component to render
const userHOC = (props, Comp) => (WrappedComponent) => {
  return class userHOC extends Component {
    render() {
      let valid = false;
      props.map((prop) => {
        valid = this.props && !isEmpty(this.props[prop])
        // You can also check redux state props
        // valid = this.props.common && !isEmpty(this.props.common[prop])
      });
      return valid
        ? (
          <WrappedComponent {...this.props} /> // My wrapped component (Home)
        )
        : (
          <Comp {...this.props} /> // My parameter component (Login)
        )
    }
  };
};

export default userHOC;

然后,我只需要包装每个需要一些道具才能显示的组件,在这种情况下,我们会在我的home组件中寻找用户,因此:

import HocUser from '../hoc/hoc-user';

class Home extends Component {
...
}

export default HocUser(['user'], Login)(Home);
``

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

通过节点属性进行ArangoDB有效遍历

来自分类Dev

如何通过PHP登录重定向进行会话?

来自分类Dev

使用MarkLogic中的xdmp:http函数进行会话管理?

来自分类Dev

在Swift中进行会话?是否有可能?

来自分类Dev

沿所有节点中的每个最短路径求和

来自分类Dev

对于具有不同的必须通过节点集的最短路径,我可以使用哪种算法?

来自分类Dev

VueJS通过节点插件返回循环数据值

来自分类Dev

是否有比通过节点进行单独的多个API调用更简单的方法来从Chainlink获取分散数据?

来自分类Dev

我可以通过 HTTP DELETE 请求消息删除路径中的所有数据吗?

来自分类Dev

使用没有express.js的核心node.js进行会话管理

来自分类Dev

使用ASP.NET状态服务进行会话有时会给页面打乱

来自分类Dev

为什么返回具有多个返回路径的lambda的lambda发生类型推导错误?

来自分类Dev

通过节点进行MongoDB查询返回可见结果,但Postgres不这样做吗?

来自分类Dev

节点请求-完成后是否要返回路径/文件名?或任何最佳做法建议

来自分类Dev

Jhipster-使用Jquery进行会话身份验证

来自分类Dev

Neo4j密码查询-如何返回路径节点,但不包括具有相同特定属性的节点

来自分类Dev

Neo4j-返回路径中的节点及其ID

来自分类Dev

所有$ http请求都返回-1

来自分类Dev

当由于空请求而无法进行会话时,如何最好地在自托管ServiceStack中进行编码?

来自分类Dev

laravel中没有斜线的Storage_path返回路径

来自分类Dev

发件人,发件人和返回路径有什么区别?

来自分类Dev

R igraph:找到通过节点g的节点u和v之间最短路径的总数

来自分类Dev

jQuery jqGrid:首先删除所有子节点,然后添加一个不显示的新子节点

来自分类Dev

Dijkstra返回路径

来自分类Dev

IEnumerable返回路径

来自分类Dev

节点服务器拦截从angular(http)到Java Spring后端的所有请求

来自分类Dev

在 elixir 中启动节点进程,然后返回 http 请求的结果

来自分类Dev

对neo4j中所有路径的节点属性求和

来自分类Dev

通过请求验证 FastAPI 会话

Related 相关文章

  1. 1

    通过节点属性进行ArangoDB有效遍历

  2. 2

    如何通过PHP登录重定向进行会话?

  3. 3

    使用MarkLogic中的xdmp:http函数进行会话管理?

  4. 4

    在Swift中进行会话?是否有可能?

  5. 5

    沿所有节点中的每个最短路径求和

  6. 6

    对于具有不同的必须通过节点集的最短路径,我可以使用哪种算法?

  7. 7

    VueJS通过节点插件返回循环数据值

  8. 8

    是否有比通过节点进行单独的多个API调用更简单的方法来从Chainlink获取分散数据?

  9. 9

    我可以通过 HTTP DELETE 请求消息删除路径中的所有数据吗?

  10. 10

    使用没有express.js的核心node.js进行会话管理

  11. 11

    使用ASP.NET状态服务进行会话有时会给页面打乱

  12. 12

    为什么返回具有多个返回路径的lambda的lambda发生类型推导错误?

  13. 13

    通过节点进行MongoDB查询返回可见结果,但Postgres不这样做吗?

  14. 14

    节点请求-完成后是否要返回路径/文件名?或任何最佳做法建议

  15. 15

    Jhipster-使用Jquery进行会话身份验证

  16. 16

    Neo4j密码查询-如何返回路径节点,但不包括具有相同特定属性的节点

  17. 17

    Neo4j-返回路径中的节点及其ID

  18. 18

    所有$ http请求都返回-1

  19. 19

    当由于空请求而无法进行会话时,如何最好地在自托管ServiceStack中进行编码?

  20. 20

    laravel中没有斜线的Storage_path返回路径

  21. 21

    发件人,发件人和返回路径有什么区别?

  22. 22

    R igraph:找到通过节点g的节点u和v之间最短路径的总数

  23. 23

    jQuery jqGrid:首先删除所有子节点,然后添加一个不显示的新子节点

  24. 24

    Dijkstra返回路径

  25. 25

    IEnumerable返回路径

  26. 26

    节点服务器拦截从angular(http)到Java Spring后端的所有请求

  27. 27

    在 elixir 中启动节点进程,然后返回 http 请求的结果

  28. 28

    对neo4j中所有路径的节点属性求和

  29. 29

    通过请求验证 FastAPI 会话

热门标签

归档