如何将OmniAuth(Twitter)与现有用户模型整合?
问题描述:
我正在使用OmniAuth,并且我能够获得成功工作的回调。如何将OmniAuth(Twitter)与现有用户模型整合?
当我浏览到/auth/twitter
并登录使用Twitter,这使我回/auth/twitter/callback
与具有用户ID,个人资料图片URL,网名无格式文本等
我没有这个做什么输出尚未,这就是我需要帮助的地方。
我已经有一个现有的身份验证系统,我想保持它的一切。我正在寻找从Twitter只抓住屏幕名称,他们的oauth_token,他们的oauth_token_secret和他们的电子邮件地址(如果可能)在我的网站上创建一个新帐户/登录到我的网站。如果我想保留我当前网站的完全相同的行为,并只想让用户使用Twitter登录/注册,那我该怎么做?
这里是我的已经存在的用户表
create_table "users", :force => true do |t|
t.string "name"
t.string "email"
t.timestamp "created_at", :null => false
t.timestamp "updated_at", :null => false
t.string "password_digest"
t.string "remember_token"
我可以添加组oauth_token和oauth_token_secret列于该表,并使其工作方式?
答
你可以。检查瑞安railscasts.com/episodes/241-simple-omniauth。另外请注意,twitter不会返回电子邮件。如果您打算允许使用twitter或传统用户/密码进行登录(如果用户选择后者,则可能需要在验证部分上工作),否则您可能还需要更改用户模型以允许密码为null等。
我使用的是OmniAuth,而不是OAuth – johbones 2013-04-10 06:12:03