覆盖或禁用DEFAULT_PASSWORD_ENROLL_TOKEN_EXPIRATION_DAYS?

问题描述 投票:1回答:2

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

Meteor Accounts包似乎使用DEFAULT_PASSWORD_ENROLL_TOKEN_EXPIRATION_DAYS来过期激活链接。是否可以覆盖此值或禁用它?

meteor meteor-accounts
2个回答
1
投票

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

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

不过你还有一些选择。

  1. 覆盖accounts-base包并使用process.envMeteor.settings中的值作为到期变量。
  2. additional token data中使用sendEnrollmentEmail并在那里放置一个自定义的到期日期。然后使用onEnrollmentLink对到期日期进行自定义验证。
  3. 使用自定义集合存储到期日期并在onEnrollmentLink中检查它们

如果您更喜欢第一个选项,那么如果您还在Meteor回购中打开PR,那么其他人也将从中获益。


0
投票

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

Accounts.config({
  passwordEnrollTokenExpirationInDays: 60
});
© www.soinside.com 2019 - 2024. All rights reserved.