ruby - 具有多个应用服务器的无效重置密码令牌
问题描述
环境
红宝石 ruby-2.5.3(RVM)
导轨 5.2.3
设计 4.7.0
问题
从使用两个应用服务器的重置密码说明电子邮件中获得的令牌中解密 reset_password_token 的问题。但是,当我们收到对其中一个应用服务器的请求时,它工作正常,但另一个应用服务器却不行。也许,从服务器生成的加密重置密码令牌可以正常工作。请查看以下完整详情。
电子邮件 URL -> /users/password/edit?reset_password_token=tNw1nqXqAa6c8Y9yUkGg
APP 服务器 1 -> 使用上述令牌解密的令牌 -> 6376d5b06682e8c0e627458a6a5654706c30a61ef19c1b2a985fbaa1aade1072
APP Server 2 -> 使用上述电子邮件令牌的解密令牌 -> b1040564c63d8f3336bddc050f06a6e4b04c6df06718643f7b9bea050c02631a
当请求发送到 APP 服务器 2 时,它将正常工作,因为在数据库中保存了此重置密码令牌。但是,如果请求发送到 APP 服务器 1 不起作用。我需要一个与任何 APP 服务器无缝连接的解决方案。这可能是在 APP 服务器中加密或解密令牌的问题。提前致谢!
解决方案
令牌是使用 secret_key_base 生成和解密的,因为它们在这两个服务中是不同的,所以一切都不起作用。
您需要在您的服务中注册相同的 secret_key_base。
推荐阅读
- python - 从包含标题和值的数据框列中提取标题
- linux - leave-ret 和系统调用退出有什么区别?
- c# - CBFS c# - 从事件处理程序内的文件中读取一些字节
- python - Ubuntu 上的本机消息传递清单文件位置
- excel - 在 Excel 中,如何将一个单元格中的数字列表(例如 1、3、7)转换为相邻单元格中的虚拟变量(1)?
- codeigniter - 如何在表格中计算id和shows
- python - 无法在安装了 gevent 的情况下运行 Flask 应用程序
- java - 如何验证被测类内的交互?
- angular - 如何在 ngAfterViewChecked 循环中正确附加事件侦听器?
- php - 提交是成功的文本即使重新加载后也不去