【发布时间】:2018-09-26 22:18:42
【问题描述】:
我在客户端使用了app.authenticate。
它在服务器上创建钩子之前调用了身份验证钩子。
我从“feathers-authentication-manage.hook”导入为verifyHooks。
创建钩子之前:
app.service('authentication').hooks({
before: {
create: [
authentication.hooks.authenticate(config.strategies),
async context => {
const { app, data } = context;
await app.service('users').find({
query: {
usernameUpperCase: data.username.toUpperCase(),
$limit: 1
}
})
.then(async (user) => {
await user.data.map(async data => {
if(!data.isVerified) {
await console.log('HELLO FROM ABOVE.');
//await v.validationError('Verify Email. A token link has been sent to your email.');
}
});
})
.catch(err => v.validationError(err));
},
verifyHooks.isVerified()
],
按顺序排列的 3 个钩子是:
1. 认证
2. 我的钩子
3.isVerified()email 验证钩子来自羽毛认证管理
在客户端,当isVerified() 钩子激活时,即使是在身份验证钩子之后,身份验证承诺也会被拒绝。
如果我删除了 isVerified() 钩子,那么身份验证承诺就会解决。
如何使我的钩子(第二个钩子)的行为类似于 isVerified(),以便拒绝客户端上的身份验证承诺?
【问题讨论】:
标签: promise async-await feathersjs feathers-authentication feathers-hook