覆盖或禁用 [​​=10=]?

Override or disable DEFAULT_PASSWORD_ENROLL_TOKEN_EXPIRATION_DAYS?

我们正在使用 Accounts.sendEnrollmentEmail 向用户发送帐户邀请消息。在某些情况下,用户在一段时间内无法单击 link。在这些情况下,我们必须重新发送邀请,为管理员用户增加额外的工作量。

Meteor 帐户包似乎使用 DEFAULT_PASSWORD_ENROLL_TOKEN_EXPIRATION_DAYS 使激活 link 过期。是否可以覆盖或禁用此值?

正如我在 code 中发现的那样,它是一个具有固定值的常量。

因此默认情况下您将无法覆盖它。

不过你在这里还有一些选择。

  1. 覆盖 accounts-base 包并使用 process.envMeteor.settings 中的值作为过期变量。

  2. 使用additional token data in sendEnrollmentEmail and place a custom expiration date there. Then use onEnrollmentLink自定义有效期验证。

  3. 使用自定义集合存储过期日期并在 onEnrollmentLink

  4. 中检查它们

如果您更喜欢第一个选项,那么如果您也在 Meteor 存储库上打开一个 PR 就更好了,这样其他人就会从中受益。

我们能够通过以下方式解决问题,例如在 accounts.js:

Accounts.config({
  passwordEnrollTokenExpirationInDays: 60
});