多个应用服务器的重置密码令牌无效

Invalid Reset Password token with multiple app servers

环境

Ruby ruby-2.5.3(RVM)

Rails 5.2.3

设计 4.7.0

问题

从令牌中解密 reset_password_token 的问题,我们通过两个应用程序服务器从重置密码说明电子邮件中获得令牌。但是,当我们收到对其中一个应用程序服务器的请求时,它工作正常,但不是另一个应用程序服务器。也许,它在服务器生成的加密重置密码令牌中运行良好。请查看下面的完整详细信息。

电子邮件 URL -> /users/password/edit?reset_password_token=tNw1nqXqAa6c8Y9yUkGg

APP Server 1 -> 使用上述令牌解密的令牌 -> 6376d5b06682e8c0e627458a6a5654706c30a61ef19c1b2a985fbaa1aade1072

APP 服务器 2 -> 使用上述电子邮件令牌解密令牌 -> b1040564c63d8f3336bddc050f06a6e4b04c6df06718643f7b9bea050c02631a

当请求发送到 APP 服务器 2 时,它将正常工作,因为在数据库中保存了此重置密码令牌。但是,如果请求发送到 APP 服务器 1 不工作。我需要一个与任何 APP 服务器无缝衔接的解决方案。这可能是 APP 服务器内加密或解密令牌的问题。提前致谢!

令牌是使用secret_key_base生成和解密的,由于这两个服务不同,所以一切都不起作用。

您需要在您的服务中注册相同的secret_key_base。