【发布时间】: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 如此时,尝试让它工作是不值得的容易上手。