【发布时间】:2017-08-09 19:24:36
【问题描述】:
我正在开发一个 Rails 应用程序并使用 ActionMailer 向用户发送电子邮件。我知道如何在每封电子邮件中包含附件。但我想知道是否可以在邮件视图中提供一个按钮来显式下载特定附件作为用户界面改进。
更新:
老实说,我忘了提一些重要的事情。为了从电子邮件中下载文件,我需要构建的最终端点需要通过 Authorization 标头进行身份验证,它的值是使用 base64 的编码令牌。我不知道通过在电子邮件中发送此令牌是否存在漏洞。
【问题讨论】:
-
我认为在电子邮件中发送授权令牌与在明信片上发送密码几乎相同。如果您通过电子邮件发送链接,为什么下载 URL 需要授权?为什么首先登录(在下载之前)不是一个选项?令牌有多合理,是一次性令牌还是有人可以将令牌重用于其他请求?
-
流程如下:用户使用从 Android 应用程序到我正在构建的 Rails 服务器的端点。作为响应,包含敏感信息的报告(CSV 文件)通过电子邮件发送给用户。因此,端点需要身份验证。所以,我正在考虑创建其他直接响应 CSV 文件的端点,但它也必须经过身份验证。令牌可以重复用于其他请求。
-
另一种选择是创建指向附件 CSV 文件的链接,但我不知道是否可行
-
恕我直言,如果您的 Android 应用程序(已经过身份验证)询问 Rails 应用程序报告是否已完成并初始化下载,而不是在电子邮件中发送身份验证令牌,那么整个过程会更加安全。
-
@spickermann 非常感谢您的意见。
标签: ruby-on-rails ruby actionmailer