使用 REST 的环回电子邮件验证(在哪里配置了必需的 verifyOptions)
Loopback email verification using REST(where is the required verifyOptions configured)
在环回 api 资源管理器 (localhost:3000/explorer) 中有一个端点 {POST /users/{id}/verify} 我认为它可以用来发送验证邮件。在描述中指出
"Trigger user's identity verification with configured verifyOptions"
我很想知道where/how这个verifyOptions是如何配置的。
提前致谢
正如 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'
});
});
});
此 link 还展示了如何配置此路由:
https://apidocs.strongloop.com/loopback/#user-prototype-verify
此示例显示示例项目中的整个过程:
https://github.com/strongloop/loopback-example-user-management
这个 link 也可以帮助您查看此过程的示例:
在环回 api 资源管理器 (localhost:3000/explorer) 中有一个端点 {POST /users/{id}/verify} 我认为它可以用来发送验证邮件。在描述中指出
"Trigger user's identity verification with configured verifyOptions"
我很想知道where/how这个verifyOptions是如何配置的。 提前致谢
正如 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'
});
});
});
此 link 还展示了如何配置此路由:
https://apidocs.strongloop.com/loopback/#user-prototype-verify
此示例显示示例项目中的整个过程:
https://github.com/strongloop/loopback-example-user-management
这个 link 也可以帮助您查看此过程的示例: