在尝试向我现有的Rails应用程序添加token身份验证时,我不断遇到错误,它源于设计authentication_keys。在我的Rails4应用程序中,我允许用户使用用户名或电子邮件登录,我想为API提供相同的功能。我从API登录时得到的错误如下StartedPOST"/api/v1/auth/sign_in"for127.0.0.1at2016-04-1923:40:26-0400ProcessingbyDeviseTokenAuth::SessionsController#createasJSONParameters:{"login"=>"email@example.com",
对于我的Rails3应用程序,我有如下路线设置namespace:userdoroot:to=>"reading_schedules#index"end这是我的“rakeroutes”显示的内容user_root/user(.:format){:controller=>"user/reading_schedules",:action=>"index}在我的本地机器上一切正常。但是,一旦我将站点推送到Heroku并登录,我就会在日志中收到以下错误ActionController::RoutingError(uninitializedconstantUser::ReadingSchedul
鉴于用户正在等待确认电子邮件或已收到确认电子邮件,我如何确保他们不使用重置密码过程和强制他们填写标准确认表格(使用确认电子邮件)。在我的例子中,用户必须在确认后选择一个用户名,而密码重置很烦人地绕过了这个。 最佳答案 您需要禁用User模型中的:recoverable模块,因为这是启用密码重置的原因。如果您还没有自定义该页面,您还需要删除devise/sessions/new.html.erb中的忘记密码链接。 关于ruby-on-rails-rails:Devise:make`rese
我已经实现了使用Devise自动生成用户密码的功能。现在当用户登录系统时,我想强制用户重设密码。似乎Devise中没有内置此类功能(如果我错了,请纠正我)。我可以想出几种方法来实现这一点,但我确信有一种标准方法可以做到这一点。如有任何提示,我们将不胜感激。谢谢。 最佳答案 Devise处理具有关联View的密码Controller以更改用户密码。在应用程序Controller中,您可以使用new_password_route覆盖一些设计方法,如after_sign_up_path、after_sign_in_path、after_c
我正在使用DeviseInvitable在我的应用程序上,Omniauth允许用户使用Facebook登录。我遇到的唯一麻烦是,当用户选择使用“邀请接受”页面中的链接登录Facebook时,他们会被重定向到“新用户注册”页面,其中已经填写了一些详细信息。问题因为DeviseInvitable在发送邀请时会创建新用户,所以用户无法使用发送邀请时提供的电子邮件登录。Omniauth回调Controllerdefalluser=User.from_omniauth(request.env["omniauth.auth"])ifuser.persisted?flash.notice="Sign
我在SO上找到了类似的线程,但没有一个帮助我解决了这个问题。我的路线如下:devise_for:usersdopost'/users'=>'registrations#create',:as=>'user_registration'enddevise_for:users,:controllers=>{:omniauth_callbacks=>"users/omniauth_callbacks"}我也试过:devise_for:users,:controllers=>{:omniauth_callbacks=>"omniauth_callbacks"}但我还是得到了Theaction'f
我需要我的Rails应用程序只允许具有:admin的用户能够访问sign_up页面并添加用户。但是,如果有人登录(管理员或其他),Devise会重定向他们并显示绑定(bind)到already_authenticated错误的“已登录”消息。我知道还有其他更强大的方法可以解决这个问题,比如创建一个新的Controller来覆盖Devise中的标准Controller,但是因为我对Rails还很陌生,而且我目前的需求很小,所以我只是想禁用那个“already_authenticated”完全重定向。然后,我可以轻松地在sign_up页面的顶部添加一个“if”语句,以防止普通用户访问它,但
我有一个简单的RubyonRails应用程序,使用Devise进行身份验证。我想让用户使用用户名而不是电子邮件登录,并尝试按照此处所述实现这一点:Deviseauthenticatingwithusernameinsteadofemail问题是我仍然希望每个用户都有一个电子邮件地址,并且在注册时需要一个。所以,我在注册表单上留下了“电子邮件”字段。问题是,当我使用有效的电子邮件地址(或电子邮件的任何其他值)填写注册表单时,Devise给出了一个错误:“电子邮件不能为空”。为什么电子邮件被视为空白,我该如何解决?classApplicationController用户模型classUse
我正在努力在rubyCAS-server数据库中注册用户我正在使用Devise(3.2.2)和devise_cas_authenticatable(1.3.4)作为SSO解决方案。使用rubyCAS作为服务器单点登录。我可以正常登录,但我的问题是如何注册新用户。我想要两个共享相同用户群的应用程序,而不是让用户在双方注册。但是他们会去网站并注册。由于内置且经过良好测试的恢复机制等,我想使用devise。classUser点击注册按钮后,POST上显示错误:ActiveRecord::UnknownAttributeErrorinDevise::RegistrationsContr
看来我一定是做错了什么(我对Spree还处于起步阶段)我遵循了本教程http://guides.spreecommerce.com/developer/authentication.html我有默认的设计设置,现在正在尝试将SpreeCommerce添加到其中。moduleSpreemoduleAuthenticationHelpersdefself.included(receiver)receiver.send:helper_method,:spree_login_pathreceiver.send:helper_method,:spree_signup_pathreceiver.s