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

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

环境

Ruby ruby​​-2.5.3(RVM)

Rails 5.2.3

Devise 4.7.0

问题

我们从与两台应用程序服务器一起使用的重置密码说明电子邮件中获得的令牌中解密reset_password_token的问题。但是,当我们收到对其中一个应用程序服务器的请求时,它可以正常工作,但对另一个应用程序服务器却无法正常工作。也许,从服务器生成的重置密码令牌进行加密后,它可以正常工作。请检查下面的完整详细信息。

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

APP Server 1->具有上述令牌的解密令牌-> 6376d5b06682e8c0e627458a6a5654706c30a61ef19c1b2a985fbaa1aade1072

APP Server 2->具有以上电子邮件令牌的解密令牌-> b1040564c63d8f3336bddc050f06a6e4b04c6df06718643f7b9bea050c02631a

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

ruby encryption devise ruby-on-rails-5
1个回答
0
投票

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

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

© www.soinside.com 2019 - 2024. All rights reserved.