1

我正在使用 OmniAuth,并且我能够使回调成功工作。

当我浏览/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 列添加到该表并使其以这种方式工作吗?

4

1 回答 1

0

你可以。检查 Ryans railscasts.com/episodes/241-simple-omniauth。另请注意,twitter 不会返回电子邮件。如果您计划允许使用 twitter 或传统用户/密码登录(如果用户选择后者,您可能需要处理验证部分),您可能还需要更改用户模型以允许密码为 null 等

于 2013-04-10T07:15:43.537 回答