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

发布于 2022-09-07 08:41:11 字数 883 浏览 14 评论 0

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...

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

朮生 2022-09-14 08:41:11

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

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文