Closed JZLeung closed 6 years ago
@thonatos 看了,还是不行,我另一个 demo,一模一样的代码,却可以。
@JZLeung
这样的话,建议你先检查代码,发现问题的过程也是学习过程,💪
终于找到原因了:插件默认的表单提交的字段是 name
和 pass
, 如果实际项目中并非这俩字段的话,需要在 app.js
中自行配置:
app.passport.use(new LocalStrategy({
// 配置你的表单字段
usernameField: 'loginname',
passwordField: 'password',
passReqToCallback: true,
}, (req, username, password, done) => {
// format user
const user = {
provider: 'local',
username,
password,
};
console.log('%s %s get user: %j', req.method, req.url, user);
app.passport.doVerify(req, user, done);
}));
或者在 config.js
中配置:
module.exports = appInfo => {
config.passportLocal = {
usernameField: 'name',
passwordField: 'pass',
};
};
- Node Version: 8.9.1
- Egg Version: 2.2.1
- Plugin Name: egg-passport-local
- Plugin Version: 1.2.1
- Platform: MacOS
- Mini Showcase Repository: https://github.com/JZLeung/egg-issue-demo
使用了
egg-passport-local
的插件,在app.js
中配置了相应的设置,但是却无法进入 passport 的use
verify
函数,因而无法进行相关操作。
egg-passport-local 和 passport-local 都需要安装吗?
使用了
egg-passport-local
的插件,在app.js
中配置了相应的设置,但是却无法进入 passport 的use
verify
函数,因而无法进行相关操作。