我在理解 Strapi 电子邮件确认应该如何工作时遇到问题。我明白了:http: //0.0.0.0/auth/emailconfirmation?confirmation= eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
问问题
146 次
1 回答
1
eStrapi 有一个内置的电子邮件插件来处理这个问题,您还可以添加第三方电子邮件提供商。
它的工作方式是 Strapi 发送一封电子邮件,其中包含附有哈希的链接。当您单击它时,它将转到 URL 中具有特定端点的 SERVER 主机,并且服务器将自动验证您的电子邮件。有一些步骤必须遵循:
- 在您的管理面板下转到:设置 -> 用户权限插件 -> 电子邮件模板 为所有模板输入一个有效的托运人和回复电子邮件。
- 在用户权限插件 -> 高级设置 -> 启用电子邮件确认下,并在确认后添加重定向 URL。前任。https://your-site.com/login
- 在 User Permissions Plugin -> Roles -> Public -> User Permissions -> Auth -> sendEmailConfirmation 下选中。
- 在 config --> env --> production -> server.js 下创建此文件夹结构并将其粘贴到文件中:
module.exports = ({ env }) => ({
host: env('HOST'),
port: env.int('PORT'),
url: env('BACKEND_URL'),
});
- 然后在 config -> server.js 下的代码中确保添加 url 键。
module.exports = ({ env }) => ({
host: env('HOST'),
port: env.int('PORT'),
url: env('BACKEND_URL_LOCAL'),
});
在 .env 变量中添加托管和本地服务器 url,确保为正确的环境设置 NODE_ENV:
BACKEND_URL=https://my-app.herokuapp.com
BACKEND_URL_LOCAL=http://localhost:1337
# NODE_ENV=production
NODE_ENV=development
测试您的服务后端以及本地。您的完整 url 字符串应如下所示:
本地 -> http://localhost:1337/api/auth/email-confirmation?confirmation=6d3a77679db63a94c16307ae133d9373b23c3986
确保 /api 在两个链接中。
于 2022-01-20T16:39:25.473 回答