我正在使用OmniAuth,我能够成功恢复回调。
当我浏览到/auth/twitter
并使用Twitter登录时,它会将我带回/auth/twitter/callback
,其中包含无格式文本,其中包含用户ID,个人资料图片网址,屏幕名称等。
我还没有对此输出做过任何事情,这就是我需要帮助的地方。
我已经有了一个现有的身份验证系统,我希望保持一切顺利。我希望从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列添加到此表并使其以这种方式工作吗?
答案 0 :(得分:0)
你可以。检查Ryans railcasts.com/episodes/241-simple-omniauth。另请注意,Twitter不会返回电子邮件。您可能还需要更改用户模型以允许密码等为null,如果您计划允许使用twitter或传统用户/传递登录(如果用户选择后者,您可能需要处理验证部分)