Ruby on rails 设计“授权注册失败-将不接受或跳过”;确认“成功”url;
我无法让“设计令牌认证”注册生效 我已经到了需要帮助/建议的地步。我试图在github页面上找到Desive_token_auth的帮助/建议,但没有收到任何回复 我希望在这里寻求帮助可能会奏效。任何帮助都将不胜感激 摘要- 我已根据我所了解的正确流程安装和配置Desive_token_auth,并已通过“help me”(帮助我)和谷歌搜索尽可能确认此设置。。我正在尝试创建一个用户,希望我能收到一封确认链接电子邮件Ruby on rails 设计“授权注册失败-将不接受或跳过”;确认“成功”url;,ruby-on-rails,devise,Ruby On Rails,Devise,我无法让“设计令牌认证”注册生效 我已经到了需要帮助/建议的地步。我试图在github页面上找到Desive_token_auth的帮助/建议,但没有收到任何回复 我希望在这里寻求帮助可能会奏效。任何帮助都将不胜感激 摘要- 我已根据我所了解的正确流程安装和配置Desive_token_auth,并已通过“help me”(帮助我)和谷歌搜索尽可能确认此设置。。我正在尝试创建一个用户,希望我能收到一封确认链接电子邮件 如果我包含参数“确认\u成功\u url”- 使用本条— curl-XPOST
ActionController::UnpermittedParameters in DeviseTokenAuth::RegistrationsController#create
found unpermitted parameter: confirm_success_url ... (much more stuff)
{"status":"error","data": {"id":null,"provider":"email","uid":"","name":null,"nickname":null,"image":null,"email":"mail@mail.com","created_at":null,"updated_at":null},"errors":["Missing `confirm_success_url` param."]}
所以基本上-
Iosrails::Application.routes.draw do
namespace :api do
scope :v1 do
mount_devise_token_auth_for 'User', at: 'auth'
end
end
end
应用程序\u controller.rb-
class ApplicationController < ActionController::Base
include DeviseTokenAuth::Concerns::SetUserByToken
protect_from_forgery with: :null_session
end
看起来CSRF令牌真实性可能存在问题(请参阅上面的日志),但我已根据我的理解(:null_session)设置了所有设置,以避免该问题
--
此外,为了查看将confirm_success_url设置为允许的参数是否可以解决问题,我还尝试了以下方法-
class ApplicationController < ActionController::Base
include DeviseTokenAuth::Concerns::SetUserByToken
before_action :configure_permitted_parameters, if: :devise_controller?
protect_from_forgery with: :null_session
protected
def configure_permitted_parameters
devise_parameter_sanitizer.for(:sign_up) << :confirm_success_url
end
end
我认为这是有意义的,因为“confirm\u success\u url”不是一个用户模型属性
那么“确认成功”应该是什么呢?是否应包括/排除
最后,我在“designe_token_auth.rb”中添加了以下内容,但情况没有改变
default_confirm_success_url = "/"
任何帮助或指点都会非常好
谢谢。也许您正在application\u controller.rb或registrations\u controller中寻找类似的内容。这通常是使用designe指定/覆盖这些依赖路径的方式
def after_confirmation_path_for(resource_name, resource)
'/'
end
您需要做的就是从您的设计模型中删除
:confirmable
。我相信设计令牌\u auth允许您在设计令牌\u auth.rb中设置默认的\u confirm\u success\u url。通过设置并更新gemgem“designe\u token\u auth”,“>=0.1.32.beta9”
I能够使注册生效。但当我在POST数据中包含“confirm_success_url”时,它继续抛出我上面列出的错误——这是首选方法。我(仍然)不知道为什么这不起作用。你明白了吗?似乎需要运行一些迁移来添加可确认的必填字段。
unknown attribute 'confirm_success_url' for User.
default_confirm_success_url = "/"
def after_confirmation_path_for(resource_name, resource)
'/'
end