Ruby on rails Rails:twitter omniauth重定向到生产中的本地主机
我有一个rails应用程序,我的用户可以通过twitter登录。直到现在一切都很顺利。当用户已经拥有帐户时,他们可以正确登录。问题在于新用户。当他们尝试注册twitter时,他们会被重定向到错误的url 问题可能来自Omniauth回调,但我找不到它 这是我的配置: app/controllers/omniauth\u callbacks\u controller.rbRuby on rails Rails:twitter omniauth重定向到生产中的本地主机,ruby-on-rails,ruby,twitter,omniauth,Ruby On Rails,Ruby,Twitter,Omniauth,我有一个rails应用程序,我的用户可以通过twitter登录。直到现在一切都很顺利。当用户已经拥有帐户时,他们可以正确登录。问题在于新用户。当他们尝试注册twitter时,他们会被重定向到错误的url 问题可能来自Omniauth回调,但我找不到它 这是我的配置: app/controllers/omniauth\u callbacks\u controller.rb class OmniauthCallbacksController < Devise::OmniauthCallback
class OmniauthCallbacksController < Devise::OmniauthCallbacksController
def all
user = User.from_omniauth(request.env["omniauth.auth"])
if user.persisted?
flash.notice = "Signed in!"
sign_in_and_redirect user
else
session["devise.user_attributes"] = user.attributes
redirect_to new_user_registration_url
end
end
alias_method :twitter, :all
end
def self.from_omniauth(auth)
user = find_or_initialize_by(provider: auth.provider, uid: auth.uid)
user.name = auth.info.nickname
user.image = auth["info"]["image"].sub("_normal", "")
user.save
user
end
def self.new_with_session(params, session)
if session["devise.user_attributes"]
new(session["devise.user_attributes"]) do |user|
user.attributes = params
user.valid?
end
else
super
end
end
好吧,正如我所说,在开发中,它工作得很好,当我尝试注册一个twitter帐户时,用户很好地被重定向到:但在生产中,如果用户注册,他被重定向到wich显然是一个问题
有什么想法吗?我找不到哪里出了问题,我的回拨控制器似乎一切正常。很可能您将回拨参数发送到服务器时出错,或者您锁定了URL
检查并查看应用程序设置下“回调URL”和“回调URL锁定”的值不,所有设置都正确,我对这一点非常困惑TBH您的请求令牌调用请求和响应是什么样子的?特别是请求中的oauth_回调和响应体中确认的oauth_回调。这是一个广泛的问题,有些不清楚,因此会导致猜测。你说“到现在为止一切都很顺利”,但不要说发生了什么变化。你能回复吗?如果是这样,问题是否会消失?是什么改变了问题的起因?您是先做一个更改然后进行测试,还是先做一系列更改然后进行测试?