gpt4 book ai didi

ruby-on-rails - Omniauth - 起源为零

转载 作者:行者123 更新时间:2023-12-04 06:33:35 25 4
gpt4 key购买 nike

我在 Twitter 上使用 gem。回调时,检查用户是否存在并创建他或将他发送回主页。
我可能做错了什么,但在我的回调代码中, request.env['omniauth.origin'] 为零 .

我的代码很简单:
不管.html.erb

<%= link_to image_tag("twitter-connect.png"), "/auth/twitter" %>

路线.rb
match "/auth/:provider/callback" => "sessions#create"

session_controller.rb
def create
auth = request.env["omniauth.auth"]
user = User.find_by_provider_and_uid(auth["provider"], auth["uid"]) || User.create_with_omniauth(auth)
if !user.email
redirect_to confirm_path, :notice => "Add your email!"
else
redirect_to request.env['omniauth.origin'] || root_url, :notice => "Signed in!"
end
end

如果我加注 request.env['omniauth.origin'] 回调后,我得到一个 目的。

谢谢你的帮助!

最佳答案

尝试 0.2.0 版 - 我已经能够让这个版本正常工作,Rails 3.0.9 和 Ruby 1.9.2-p180 没有任何问题。

  • 你上面的那行不应该读作

    用户 = auth.find_by_provider_and_uid(auth["provider"], auth["uid"]) || User.create_with_omniauth(auth)
  • 至于omniauth.origin正在 nil ,见 this discussion .
  • 关于ruby-on-rails - Omniauth - 起源为零,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5792350/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com