问题标签 [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 投票
1 回答
1456 浏览

ruby-on-rails - 如何在设计上重定向“确认令牌无效”

我使用 devise :confirmable 配置了我的 Rails 应用程序,注册后用户会收到一封带有确认链接的电子邮件。当用户再次单击此链接时,令牌无效,这是我的应用程序中的预期行为。但是,它会将用户发送到位于“app\views\devise\confirmations\new.html.erb”的页面,并显示错误“确认令牌无效”,而我想要显示该错误(<%= devise_error_messages! %>),但在我的登录页面中。(实际上有两种可能的状态: a)token过期,用户没有被确认,所以用户必须再次申请token;b)令牌已过期并且用户已确认,因此用户必须登录)

为此,我继承了 Devise::ConfirmationsController 创建了自己的 ConfirmationsController 来覆盖 show 方法,因此如果出现任何错误,我可以重定向到登录页面,如下所示:

在我的 routes.rb 中,我有这样的配置:

它正确重定向到登录页面,但我无法将 resources.errors 中存在的错误传递给登录页面,无论我多么努力。我怎么解决这个问题?

顺便说一句,我的用户模型是这样配置的:

0 投票
1 回答
695 浏览

ruby-on-rails - 设计电子邮件仅注册不显示可确认的视图

我逐字遵循本教程:

https://github.com/plataformatec/devise/wiki/How-To:-Email-only-sign-up

但是当用户单击确认链接时,它不会显示他们设置密码的屏幕,但会将它们设置为已确认。我查看了日志,它向确认控制器发出请求,但不显示视图 - 只是处理令牌并重定向到登录的根。

我的路线(按照指示)是:

我在 app/views/devise/confirmations 和 app/views/confirmations 中有一个 show.html.erb,以防万一他们的说明(误导性地)这样说。

我认为这可能与您制作的这个控制器有关:

它应该在这里渲染视图吗?因为 this 的超类从不调用 show :

编辑:我已将确认控制器中的代码更改为纯粹render :action => "show"以确保它正在使用我的控制器,但它没有任何效果。我仔细检查了一下rake routes,它似乎是正确的,但似乎并没有压倒一切:

0 投票
3 回答
16434 浏览

ruby-on-rails - 用户注册时设计“确认令牌无效”

在我的网络应用程序上使用 Rails 4 和 Devise 3.1.0。我写了一个 Cucumber 测试来测试用户注册;当从电子邮件中单击“确认我的帐户”链接时,它会失败。

当我也通过 Web 服务器手动注册时,此错误是可重现的,因此它似乎不是 Cucumber 问题。

我想:

  • 用户能够通过此电子邮件的链接一键确认他们的帐户
  • 让用户在确认其帐户后保持登录状态

我有设置:

  • 最新的设计代码,来自 GitHub (3.1.0, ref 041fcf90807df5efded5fdcd53ced80544e7430f)
  • 一个User实现的类confirmable
  • 使用“默认”确认控制器(我还没有定义自己的自定义控制器。)

我读过这些帖子:

并尝试过:

  • 在我的 Devise 初始化程序中设置config.allow_insecure_tokens_lookup = true,它在启动时会引发“未知方法”错误。另外,这听起来应该只是一个临时修复,所以我想避免使用它。
  • 清除我的数据库并从头开始(因此不存在旧令牌)

更新:

检查User注册后存储的确认令牌。emails 令牌与 DBs 令牌匹配。根据上面的帖子,新的设计行为说不应该,而是应该根据电子邮件的令牌生成第二个令牌。这是可疑的。运行User.confirm_by_token('[EMAIL_CONFIRMATION_TOKEN]')返回的用户设置了错误“@messages={:confirmation_token=>["is invalid"]}”,这似乎是问题的根源。

不匹配的代币似乎是问题的核心;在控制台中运行以下代码以手动更改用户的确认令牌会导致确认成功:

那么为什么它首先将错误的确认令牌保存到数据库中呢?我正在使用自定义注册控制器......也许其中有一些东西导致它设置不正确?

路线.rb

用户/registrations_controller.rb

0 投票
6 回答
11640 浏览

ruby-on-rails - 使用devise gem点击确认链接后避免登录?

我正在使用devisegem,点击确认链接后,我想直接登录。目前它正在要求重新登录。

最近我在设计初始化文件中添加了以下内容:

有什么建议么?

0 投票
2 回答
233 浏览

ruby-on-rails - 设计 - 手动注册时使用不同的电子邮件

我想让管理员能够手动注册新用户。

只需在管理操作中创建一个新用户,一切都很好,但我想向这些用户发送一封不同于发送给按照正常程序注册的用户的电子邮件。

有任何想法吗?

0 投票
3 回答
2571 浏览

ruby-on-rails - 设计确认令牌无效

我向我的应用程序中的表添加了一个新的迁移,然后我进行了迁移。由于它有错误,我删除并迁移了它。当我注册一个用户并尝试使用电子邮件(设计,可确认)确认它时,它只是不会确认。它说无效的确认令牌。我已经尝试重新启动服务器。据我所知,再次删除和迁移,一切皆有可能。我正在使用 Rails 3.2.9 和 Ruby 1.9.3。设计版本为 3.1.0。Devise 也包含在我添加的其他 gem 中,例如 rails-messaging 和 active-admin。

0 投票
0 回答
431 浏览

devise - 在设计中发送带有用户名和密码的自定义确认邮件

当用户在设计中创建另一个用户时,我希望能够发送用户用户名和密码。当说,管理员创建一个新用户。欢迎邮件应该带有他的用户名和密码。问题是它应该只发生在管理员创建的用户身上,其他用户应该收到定期的设计确认邮件。如果我们能够跳过单独由管理员创建的用户的确认,那就太好了。有任何想法吗?

0 投票
1 回答
830 浏览

ruby-on-rails - 设计 3.1 升级无效令牌错误

我的应用一直在使用 devise (3.1.0, 3.0.3, 3.0.2, 3.0.1, 3.0.0, 2.2.4),所以当前版本是 3.1.0。通过此次升级,Devise 提供了一种新的令牌确认方式(博客)。

当我单击电子邮件链接时,会导致令牌无效错误,因此我试图找出解决此问题的方法。请让我知道您的任何指示。谢谢你。

0 投票
1 回答
47 浏览

ruby-on-rails - 设计 3.1 未使用电子邮件链接时确认帐户

一直在寻找解决方案,但找不到任何解决方案。我正在尝试跳过发送确认电子邮件并在设置用户帐户密码后发送。然而,在设置密码之后,confirmed_at 也被设置了,所以在使用电子邮件确认链接之前它会得到确认。下面是我的代码。提前致谢

我正在跳过确认(user.rb)

然后当用户设置了密码(user_controller.rb)

0 投票
1 回答
212 浏览

ruby-on-rails - 如何通过设计身份验证发送两封电子邮件?

我是 ruby​​ on rails 的新手,当用户在我的项目中创建帐户时,我想发送两封电子邮件,因此,当用户发送插入电子邮件和密码的请求时,我想发送可确认您的电子邮件的电子邮件并发送通知用户请求我的电子邮件的消息。我该如何解决这个问题?谢谢。