1

我在理解 Strapi 电子邮件确认应该如何工作时遇到问题。我明白了:http: //0.0.0.0/auth/emailconfirmation?confirmation= eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9

4

1 回答 1

1

eStrapi 有一个内置的电子邮件插件来处理这个问题,您还可以添加第三方电子邮件提供商。
它的工作方式是 Strapi 发送一封电子邮件,其中包含附有哈希的链接。当您单击它时,它将转到 URL 中具有特定端点的 SERVER 主机,并且服务器将自动验证您的电子邮件。有一些步骤必须遵循:

  1. 在您的管理面板下转到:设置 -> 用户权限插件 -> 电子邮件模板 为所有模板输入一个有效的托运人和回复电子邮件。
  2. 在用户权限插件 -> 高级设置 -> 启用电子邮件确认下,并在确认后添加重定向 URL。前任。https://your-site.com/login
  3. 在 User Permissions Plugin -> Roles -> Public -> User Permissions -> Auth -> sendEmailConfirmation 下选中。
  4. 在 config --> env --> production -> server.js 下创建此文件夹结构并将其粘贴到文件中:

  module.exports = ({ env }) => ({
    host: env('HOST'),
    port: env.int('PORT'),
    url: env('BACKEND_URL'),
});

  1. 然后在 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

托管-> https://my-app.herokuapp.com/api/auth/email-confirmation?confirmation=738a515de684eb58dfb5e4aaa7fe7a9f35aa32454

确保 /api 在两个链接中。

于 2022-01-20T16:39:25.473 回答