如何使用 redux 进行用户身份验证?

时间:2021-06-16 15:37:52

标签: javascript reactjs express redux passport-local-mongoose

大家好。我在 MERN 学习和学习。我还创建了一个项目。现在我不相信我所做的是对的。现在这对我很重要。对不起我的英语:)
我在网上看到了很多项目,但其中大部分使用的方法与我的不符。例如,许多人使用 jwt 进行身份验证。但我使用 passportjspassport-local-mongoose。我在 backen(express) 中成功注册并登录。在前端,我使用 action ( redux ) 获取用户信息登录或不登录的每个组件:

    UseEffect( ()=>{
      User_Auth(12); // why 12? If I didnt write this value 
                     // action cannot work but when I put work 
                     // well and this value I cant do with.
} )

这个鬼是真的吗?如果你想看这个简单的项目,请看这个:https://github.com/Feruz00/login_register/tree/master
谢谢

1 个答案:

答案 0 :(得分:0)

Redux 中的身份验证

身份验证对于任何实际应用程序都是必不可少的。在进行身份验证时,您必须记住,您应该如何组织应用程序并没有任何改变,并且您应该以与任何其他功能相同的方式实现身份验证。比较简单:

  1. LOGIN_SUCCESSLOGIN_FAILURE 等创建动作常量
  2. 创建将凭据、一个表示身份验证是否成功的标志、一个令牌或一条错误消息作为有效负载的操作创建者。
  3. 使用 Redux Thunk 中间件或您认为合适的任何中间件创建异步操作创建器,以向 API 发出网络请求,如果凭据有效,该 API 将返回令牌。然后将令牌保存在本地存储中,或者如果失败则向用户显示响应。您可以从您在上一步中编写的操作创建者那里执行这些副作用。
  4. 创建一个 reducer,为每个可能的身份验证案例(LOGIN_SUCCESSLOGIN_FAILURE 等)返回下一个状态。

示例: https://github.com/joshgeller/react-redux-jwt-auth-example

来源:https://redux.js.org/faq/miscellaneous