使用 Rack::SSLEnforcer 时从 Devise 确认链接中删除 HTTPS

2024-04-23

我在 Rails 应用程序中使用 Devise 和 Rack::SSLEnforcer。当用户收到确认电子邮件时,它看起来像:

http://mysite.com:443/users/confirmation?confirmation_token=123456789xxx http://mysite.com:443/users/confirmation?confirmation_token=123456789xxx

该链接是由 Devise 的confirmation_url 方法自动生成的。

此链接不应附加端口 443。理论上,我不需要链接到 https 地址,但如果是也没关系。至少前面应该是 https,而不是末尾是 443 端口。

有任何想法吗?


我通过安装设计视图并自定义生成的链接解决了这个问题。您可以使用以下命令安装 Devise 视图:

rails generate devise:views

请务必阅读 Devise 文档,因为执行此操作时您可能需要自定义一些其他内容(取决于您的具体情况)。

完成后,您现在可以编辑该文件

app/views/devise/mailer/confirmation_instructions.html.erb

要使链接始终生成为 SSL,只需自定义link_to call:

<%= link_to 'Confirm my account', confirmation_url(@resource, :confirmation_token => @resource.confirmation_token, :protocol => "https") %>
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用 Rack::SSLEnforcer 时从 Devise 确认链接中删除 HTTPS 的相关文章

  • 使用 SSL 的 Xamarin.Forms Image.Source

    我正在使用一个在线商店来存储通过我们的应用程序上传的用户图像 并受 SSL 保护 上传工作一切顺利 因为我使用的是带有附加证书的 WebClient 但是当我尝试使用 Xamarin Forms Image 组件时 例如将源设置为 http
  • Android SSL 无对等证书

    我有一个例外 没有同行证书 当我询问谷歌时 我得到了解决方案 我信任所有证书 但这个问题的答案是 它是不安全的 所以我给班级打电话 HostnameVerifier hostnameVerifier org apache http conn
  • 如何使用Python中字符串变量中存储的证书打开ssl套接字

    在Python中 ssl wrap socket可以从文件中读取证书 ssl wrap socket需要证书作为文件路径 如何使用从字符串变量读取的证书启动 SSL 连接 我的主机环境不允许写入文件 并且临时文件模块不起作用我正在使用Pyt
  • 使用 Ruby on Rails 进行设计 - 强制用户在首次登录时更改密码

    我有一个运行 Devise 的 RoR 应用程序 Rails 4 2 Ruby 2 2 0 我已经进行了设置 以便管理员用户 标识了我添加到用户模型中的 is admin 布尔值 能够创建新的用户帐户 为他们提供生成的密码和确认电子邮件 这
  • 如何更改 twitter-bootstrap 中文本区域的列数?

    如果我更改 rows 的值 它就会起作用 但无论我用 cols gt 设置什么值 它都会保持默认的 cols 列宽不会改变 我查看了 html 源代码 它反映了更改 我想知道 bootstrap 的 CSS 可能是嫌疑人 HTML 最终的
  • 获取设备中的当前用户ID

    如何使用设备获取控制器中的当前用户 ID 在我的控制器中我有这样的东西 def index me current user c User find me sheets c time sheets end 我收到一条错误消息 无法找到没有 I
  • 在 Rails 的文本字段中显示链接

    在我的 Rails 3 1 应用程序中 我有一个用于评论的文本字段 我希望能够允许人们包含可点击的链接 而不仅仅是显示为纯文本的 url 以及让文本字段识别用户何时文本字段中的换行符 用户无需添加 html 我怎样才能做到这一点 如果用户将
  • 使用 Ajax 在输入时提交 Textarea,然后渲染部分内容而不刷新整个页面

    目前我正在尝试通过 JS 和 Ajax 在没有提交按钮的情况下发表评论 并且它有效 问题是当帖子提交时 页面重新加载到 post id comment页面 我希望它呈现部分内容 而不是刷新整个页面或将我带到不同的页面 我对 JS 不熟悉 任
  • 在 apache 上托管多个 SSL 证书

    我希望有人能帮我解决这个问题 我有 2 个 IP 可用于执行此操作 并且需要在同一台 Apache 服务器上托管 2 个不同的安全 SSL 域 我已经读到 从 Apache 2 2 开始 可以使用某种插件来使用单个 IP 但我希望保持尽可能
  • ca 证书 Mac OS X

    我需要在emacs 上安装offlineimap 和mu4e 问题是配置 当我运行 Offlineimap 时 我得到 OfflineIMAP 6 5 5 Licensed under the GNU GPL v2 v2 or any la
  • 为什么“捆绑”会在我的开发机器上安装生产 gem?

    Gemfile 说 gem sqlite3 groups gt development test gem mysql2 group gt production 然而当我打字时bundle install在我的开发机器上安装了所有 gem 我
  • 如何使用 Gmail 的 SMTP 和 Indy 10 发送电子邮件?

    我正在使用 Delphi 2009 和 svn 中最新的 Indy 10 通过 SMTP 发送电子邮件 但它不适用于 Gmail Google Apps 托管域 当我尝试发送电子邮件时 我收到 必须首先发出 STARTTLS 命令 我尝试用
  • 如何在 Rails 测试中测试 params 哈希?

    以下内容会生成错误 未定义的局部变量或方法 params assert equal params recipient id users one id 如何测试参数哈希 另外 你如何测试assert redirect当存在参数时 参数附加到
  • 为什么 RackMultipart* 文件保留在我的 Rails /tmp 目录中?

    我正在使用 Paperclip 2 3 来处理在 Ubuntu 上运行的 Rails 3 0 3 应用程序上的图像上传 Paperclip 正在按广告处理上传 但在应用程序的 tmp 文件夹中创建的 RackMultipart 文件仍然存在
  • 信任库是否需要子 ca 证书?

    我正在尝试设置分层 PKI 我是否可以创建仅包含根 ca 证书的信任库 这是否意味着我的应用程序信任由子 ca 证书签名的证书 而子 ca 证书又由根 ca 签名 顺便说一句 您似乎必须提供整个证书链 包括根 ca 证书 当然 如果根 ca
  • RoR - Rails 中的大文件上传

    我有一个 Rails Web 应用程序 允许用户上传视频 视频存储在 NFS 安装的目录中 当前的设置适用于较小的文件 但我也需要支持大文件上传 最多 4GB 当我尝试上传 4GB 文件时 它最终会发生 但从用户体验的角度来看很糟糕 上传开
  • 我可以将 MAMP (MySQL) 或 XAMPP (MySQL) 与 Ruby on Rails 3 一起使用吗?

    我可以将 MAMP MySQL 或 XAMPP MySQL 与 Ruby on Rails 3 一起使用吗 我从 MYSQL com 安装了 MySQL 但遇到了很多麻烦 所以我喜欢使用 MAMP XAMPP Mysql 有人这样做吗 另外
  • Google Chrome 中的 ERR_SSL_CLIENT_AUTH_SIGNATURE_FAILED

    我有一个使用 SSL 客户端证书授权的网站 所有客户端证书都是使用 OpenSSL 生成的并且是自签名的 一切都适用于所有网络浏览器 但推荐的是 Google Chrome 因为它使用与 IE 相同的 SSL 仓库 因此证书安装非常简单 点
  • Facebook JavaScript SDK 通过 HTTPS 加载非安全项目

    我有一个 Facebook 应用程序 使用Facebook Connect js https connect facebook net en US all js 我正在通过 HTTPS 运行我的应用程序 网站上的所有内容均来自https 但
  • 我什么时候需要将“协商客户端证书”设置为启用?

    我可以选择支持客户端证书 这就是为什么我设置Client certificates to Accept在 IIS 上 这适用于大多数机器 然而 在某些机器上 IIS 返回 500 这可以通过设置来 解决 Client certificate

随机推荐