如何解决如何将不同的Passport策略重构为自己的文件
这时,我只有一个文件,具有用于本地和第三方身份验证的多种通行证策略。我现在正在尝试将每个策略重构为自己的文件,但这会引发很多错误。
我尝试过这个:
passport.use("local-signup",signupStrategy); //in the main file and
const signupStrategy = require('passport-local').Strategy({//function}); //in the other file
但这会引发“身份验证策略必须具有名称”错误。
我该如何解决?
解决方法
这就是我将策略抽象到自己文件中的方式。另外请注意,passport.use('local-signup')
中给定的策略名称必须与路由上passport.authenticate('local-signup')
中的名称相匹配。
main.js
// Require your strategies
const LocalStrategy = require('passport-local').Strategy;
// Require all the strategy callbacks
const localSignUpStrategy = require('./strategies/localSignup');
// Strategy configurations
passport.use('local-signup',new LocalStrategy(localSignUpStrategy));
localSignup.js
const localSignUpStrategy = async (username,password,done) => {
try {
const { dataValues: user } = await User.findOne({ where: { username } }) || {};
// Send found user ID
return done(null,user);
} catch (err) {
return done(err);
}
};
module.exports = localLoginStrategy;
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。