【问题标题】:How to pass body to passport-local?如何将身体传递给当地护照?
【发布时间】:2018-05-26 03:12:01
【问题描述】:

我正在关注一些视频课程,他们向我展示了如何使用 Passport for Google OAuth,最后他们就像“Welp,现在您可以使用所有策略了!玩得开心!”

所以我尝试像这样实现本地护照:

// passport.js
// ...
passport.use(
  new LocalStrategy((username, password, done) => {
    User
      .findOne({ username, password })
      .then(userFromDB => {
        if (userFromDB) {
          done(null, userFromDB) // No errs so return the user from db
        } else {
          new User({
            username,
            password,
          })
            .save() // Add user to our db
            .then(userFromDB => done(null, userFromDB)) // return user from db
        }
      })
  })
)
// ...

// routes.js
// ...
app.post(`/auth/local`,
  passport.authenticate(`local`, {
    failureRedirect: `/api/v1/current_user`,
  }),
  (req, res) => res.send(`It worked`)
)
// ...

我的问题是new LocalStrategy((username, password, done) ... 如何获得usernamepassword

这是一个带有 Mongo 的 Express 服务器。

【问题讨论】:

    标签: mongodb express mongoose passport.js passport-local


    【解决方案1】:
     app.post('/login', 
          passport.authenticate('local', { failureRedirect: '/login' }),
          function(req, res) {
            res.redirect('/');
          });
    

    当你到达路线/login 然后passport.authenticate('local' 自动调用函数passport.use(new LocalStrategy(.in 从前端路由登录,您需要发送用户名和密码

    passport.use(
      new LocalStrategy((username, password, done) => {
        User
          .findOne({ username, password })
          .then(userFromDB => {
            if (userFromDB) {
              done(null, userFromDB) // No errs so return the user from db
            } else {
              new User({
                username,
                password,
              })
                .save() // Add user to our db
                .then(userFromDB => done(null, userFromDB)) // return user from db
            }
          })
      })
    )
    

    【讨论】:

    猜你喜欢
    • 2017-11-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-07-01
    • 2016-10-22
    • 2021-02-08
    • 2015-05-25
    相关资源
    最近更新 更多