问题标签 [devise-confirmable]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
5 回答
5537 浏览

ruby-on-rails - 在设计电子邮件主题中添加动态值

好的,我已经看到很多关于自定义设计电子邮件主题的讨论,但似乎没有一个能解决我想要的问题。目前我的确认电子邮件主题为“确认您的 Qitch.com 帐户”。我想自定义此电子邮件主题并在其中添加用户名的动态值,这样如果用户ALEX注册了一个帐户,他应该会获得一个主题为Welcome ALEX, Confirm your Qitch.com account的电子邮件地址。我怎样才能在设计中实现这一点?

devise.en.yml

最后,如何在回复地址或发件人地址中添加名称,目前当您收到邮件时,它说发件人:no-reply@qitch.com有没有办法我可以自定义它Qitch

谢谢

0 投票
1 回答
1325 浏览

ruby-on-rails - 从设计确认更改闪存错误

我正在使用 Devise 的本指南来设置用户在没有密码的情况下创建帐户的能力,但稍后在确认时进行设置。

但是,通过<%= devise_error_messages! %>摘录显示了错误。我想更改控制器,以便它在flashRails 中显示。

我怎样才能做到这一点?

我覆盖的控制器如下:

0 投票
1 回答
219 浏览

ruby-on-rails - 设计:当用户请求更改电子邮件时如何使用另一个邮件视图(而不是默认)

  1. 在用户#registration 下登录用户更改电子邮件
  2. 用户收到电子邮件以确认此电子邮件更改

步骤2中发送的邮件与用户第一次注册时发送的邮件完全相同,并且必须第一次确认他的邮件。

有没有办法使用另一个电子邮件视图所以我可以更多地自定义文本,例如“您要求更改您的电子邮件,请单击下面的链接..”而不是使用默认消息。

在我们的应用程序中,这将是一个装饰性但非常需要的功能。

无论如何要这样做?亲切的问候!

0 投票
0 回答
92 浏览

ruby-on-rails - 设计:是否可以将更改电子邮件 (:confirmable) 移至单独的视图?

是否可以将设计电子邮件更改为单独的表格?我想将此功能从我的 users#registrations 页面提取到单独的视图中。

我挖掘了设计维基,但找不到任何参考。

0 投票
2 回答
1114 浏览

ruby-on-rails - 设计:当用户已经被确认时显示错误

当已确认的用户尝试重新发送确认时,我想显示一条错误消息。这是设计已经提供的东西还是我必须覆盖他们的一些方法?如果有,有哪些方法?

0 投票
1 回答
461 浏览

ruby-on-rails - 在设计确认电子邮件中显示电子邮件和密码

默认情况下,设计会发送此确认电子邮件:

欢迎 user@email.com!

您可以通过以下链接确认您的帐户电子邮件:

确认我的帐户

我希望它是:

欢迎 user@email.com!

邮箱:user@email.com

密码:xxxxxxxxx

您可以通过以下链接确认您的帐户电子邮件:

确认我的帐户

如何在 app/views/confirmable/mailer/confirmation_instructions.html.erb 中进行设置?以及如何显示密码,因为它已经被加密?

0 投票
1 回答
463 浏览

ruby-on-rails - Rails 3.2:当名称或电子邮件不是唯一的或电子邮件是假的(FriendlyID)时设计注册中断

编辑:感谢@vinodadhikary - 经过进一步调查,似乎错误发生在 a)电子邮件不是唯一的,b)名称不是唯一的或 c)电子邮件显然是假的(h@h.com)。如果 Devise 不接受注册,我希望错误能够优雅地发生。如果密码不匹配或字段不完整,则错误处理是正确的。此外,非唯一名称应该不是问题吗?这是由使用 FriendlyID 创建 slug(使用名称作为 slug)引起的吗?

原文:当有人在满足上述注册条件之一时注册时,我在我的 Devise 注册中遇到了一个奇怪的错误。我认为我没有为 Devise 安装做任何超出正常范围的事情(使用 Rails Composer,如果重要的话)。在此先感谢您的帮助...

这是错误:

设计/注册/new.html.haml:

用户.rb:

全栈跟踪:

0 投票
0 回答
171 浏览

ruby-on-rails - 设计出色的电子邮件确认消息

不确定我们想要实现的目标是否可行,但欢迎提出任何建议。

使用设计 2.0.4 进行身份验证。都好。我们有一个设置视图,用户可以在其中更改他们的电子邮件和/或密码。

如果他们更改了他们的电子邮件地址,因为我们有 :confirmable 在设计上,他们的电子邮件地址不会改变,直到他们确认电子邮件到他们的新地址。

我们的问题是,当新的电子邮件地址确认未完成时,更改其他内容(例如密码)仍会向用户显示他们必须确认其电子邮件的 Flash 消息。(在 devise.en.yml 中键入:update_needs_confirmation)。我的客户不想要这个;他们想要的是 :update_needs_confirmation 消息仅在您刚刚更改电子邮件地址时才显示。不是在任何其他更改之后,即使电子邮件尚未确认。

这有可能吗?我认为这与 Devise 的注册控制器 #update 方法中的代码有关,尤其是本节:

有谁知道是否可以在每次更改电子邮件后仅显示一次此 Flash 消息以及如何实现?很高兴覆盖控制器,因为我们已经出于其他原因这样做了。(我知道,不好)

非常感谢您的信息!

0 投票
0 回答
762 浏览

ruby-on-rails - 设计:不更新 reset_password_token 或 reset_password_sent_at

我有一个 Rails 应用程序,您可以在其中使用您的电子邮件地址(而不是用户名)登录。无论出于何种原因,忘记密码操作都不会更新时间戳reset_password_tokenreset_password_sent_at时间戳,这会导致用户尝试重置时出现“重置密码令牌已过期,请请求新密码”错误。

在某一时刻,这奏效了,因为我的数据库记录中有这些字段的陈旧数据。我清除了这些字段,再次尝试了链接,它们仍然为空。

我不认为我必须覆盖密码控制器,特别是因为这在我沿途改变某些东西之前就有效了。为什么我的重置字段现在没有更新?

** 编辑 ** 我允许用户通过电子邮件或用户名登录,这可能与此有关。另外,在我的路由文件中,我为一些设计方法设置了覆盖控制器:

这些是我的 devise.rb 初始化文件的相关部分:

结尾

0 投票
1 回答
275 浏览

ruby-on-rails-3 - 安全谜题:确认电子邮件和重置密码

我在我的 Rails 3.0 应用程序上使用 Devise,我们目前已启用可确认和可恢复。这些模块要求用户确认他们的电子邮件帐户(可确认),并允许用户通过将电子邮件发送到他们的电子邮件帐户(可恢复)来重置他们的密码。

不幸的是,我们很难“设计”(双关语)允许用户在不确认其帐户的情况下使用该网站的合理安全策略。我们强制执行以下安全要求:

  1. 确认您的帐户需要登录或登录。如果不是这种情况并且用户 A 不小心输入了恶意用户 B 的错误电子邮件地址,B 将收到确认电子邮件链接,自动登录,然后可以从那里重置密码通过“电子邮件重置密码链接”。要求 B 使用 A 的凭据登录可以消除这种可能性。

  2. 通过电子邮件重置密码需要确认电子邮件。这是因为如果用户 A 不小心输入了错误的电子邮件地址,一个属于恶意用户 B 的电子邮件地址,那么 B 将收到确认电子邮件链接并且知道 A 已经注册了一个帐户。因此 B 可以访问该站点并使用重置密码功能来更改帐户的密码,然后可以确认他的帐户。要求确认的电子邮件地址消除了这种可能性。

所以一切都很好。除非用户 A 创建了一个帐户,但尚未确认他的帐户,然后返回该站点并忘记了他的密码。这里 A 陷入了一个循环依赖循环,重置他的密码需要确认他的帐户,但确认他的帐户需要使用他忘记的密码登录。

两种可能的解决方案:

  1. 要求用户在登录后立即确认他们的帐户。这会产生更多的注册摩擦,但消除了循环依赖。

  2. 允许用户在没有确认帐户的情况下重置密码,但不允许用户在确认帐户之前输入任何敏感信息或执行关键操作。这样恶意用户 B 仍然可以劫持帐户,但他将在没有任何有价值的信息或权力的情况下获得对帐户的控制权。

有更好的解决方案吗?企业如何处理这个问题?我已经使用了几个不需要立即电子邮件确认的网站,所以如果我们能以一种不需要实现像 #2 那样复杂的东西的方式来做到这一点,那就太好了。

谢谢!