koa-passport中间件中怎么具体使用?

蓓蕾心晴
  • 532
const LocalStrategy = require('passport-local').Strategy
passport.use(new LocalStrategy(async function (username, password, done) {
  // FK: 根据username从数据库或者其他存储中拿到用户信息
  let user = await userStore.getUserByName(username)
  // FK: 把传入的password和数据库中存储的密码进行比较。当然这里不应该是明文,一般是加盐的hash值
  if (user && validate(password, user.hash)) {
    done(null, user)
  } else {
    log.info(`auth failed for`, username)
    done(null, false)
  }
}))

koa-passport中间件使用的时候,里面有好多done回调函数么请问这个函数是在哪里实现的呢?是已经实现好的?还是需要自己实现呢?看了好几个教程,还是不明白如何使用,比较凌乱。
参考教程如下:
https://segmentfault.com/a/11...

https://segmentfault.com/a/11...

回复
阅读 2.2k
1 个回答
改名字很伤神
  • 7.9k

done是回调函数,意思是告诉调用你的人(passport)你已经执行完你要执行的内容了,让它继续跑它的逻辑。
一般是以done(err,data)的形式回调。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏