在loopback api explorer(localhost:3000 / explorer)中有一个端点{POST / users / {id} / verify},我认为它可用于发送验证邮件。在说明书中陈述了
"使用配置的verifyOptions"
触发用户的身份验证
我非常想知道这个verifyOptions的配置位置和方式。 提前致谢
答案 0 :(得分:3)
正如user.js中的注释所说:( node_modules / loopback / common / models)
* Verify a user's identity by sending them a confirmation message.
* NOTE: Currently only email verification is supported
*
* ```js
* var verifyOptions = {
* type: 'email',
* from: 'noreply@example.com'
* template: 'verify.ejs',
* redirect: '/',
* generateVerificationToken: function (user, options, cb) {
* cb('random-token');
* }
* };
您应该创建此对象并使用此对象调用user.verify函数。您可以在afterRemote挂钩中执行此操作:
//send verification email after registration
User.afterRemote('create', function(context, user, next) {
var options = {
type: 'email',
to: user.email,
from: 'noreply@loopback.com',
subject: 'Thanks for registering.',
template: path.resolve(__dirname, '../../server/views/verify.ejs'),
redirect: '/verified',
user: user
};
user.verify(options, function(err, response) {
if (err) {
User.deleteById(user.id);
return next(err);
}
context.res.render('response', {
title: 'Signed up successfully',
content: 'Please check your email and click on the verification link ' +
'before logging in.',
redirectTo: '/',
redirectToLinkText: 'Log in'
});
});
});
此链接还显示了如何配置此路线:
https://apidocs.strongloop.com/loopback/#user-prototype-verify
此示例显示示例项目中的整个过程:
https://github.com/strongloop/loopback-example-user-management
此链接还可以帮助您查看此过程的示例: