【问题标题】:rails3 authlogic-connect unknown attribute: oauth_providerrails3 authlogic-connect 未知属性:oauth_provider
【发布时间】:2011-03-30 22:49:09
【问题描述】:

我正在尝试使用 authlogic-connect 插件向我的网络应用程序添加 oauth 支持,但出现错误:

unknown attribute: oauth_provider

当调用 UsersController#create 时。当我尝试从传入的参数创建新用户时失败:

@user = User.new(params[:user])

果然参数中包含这个属性:

Parameters:

{"utf8"=>"✓",
 "authenticity_token"=>"lHX2BTFTd5xITTfY/X8A9R3vca3YaRuHFoWdqy8ZPik=",
 "user"=>{"oauth_provider"=>"linkedin"},
 "commit"=>"LinkIn"}

根据文档,我认为这是您应该做的:

Second, if you are using Oauth, you must include an input with name oauth_provider 
and value twitter or whatever other provider you might want (see example apps for 
dynamic example).

关于这应该如何工作的任何想法?所有示例表单都在 yaml 中——我不知道——我正在尝试使用嵌入式 ruby​​ 代码来创建它。这是我正在使用的表格:

<!-- authlogic-connect hack -->
<%= form_for @user do |f| %>
<%= f.radio_button(:oauth_provider, "linkedin") %>
<%= f.label(:oauth_provider_linkedin, "Link In Fool") %>
<%= f.submit :value => "LinkIn" %>
<% end %>

【问题讨论】:

  • 建议:改用devise + omniauth,一小时内即可安装。它将是全功能的身份验证。寻找截屏视频或 asciiccasts。
  • 哈!这正是我今天早上所做的,我完全同意这个问题的答案是 devise + omniauth :) Authlogic 根本没有 rails3 支持,当 devise + omniauth 如此时,尝试让它工作是不值得的容易上手。

标签: ruby-on-rails-3 authlogic


【解决方案1】:

正如 Dimitry 所指出的,这个问题的最佳答案是使用 devise + omniauth 而不是试图让 authlogic 工作。 Authlogic 根本不支持 rails3。我花了至少一个星期试图让 authlogic 以我想要的方式工作,但我从未解决过这个问题。然后,我花了几个小时让 devise + omniauth 完全按照我的意愿去做(即您可以使用 LinkedIn 或在视线上创建一个帐户,您可以将它们关联在一起,以便您可以使用 LinkedIn 或电子邮件和密码登录到相同的帐户)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-01-04
    相关资源
    最近更新 更多