【问题标题】:how do you integration OmniAuth (Twitter) to an existing user model?您如何将 OmniAuth (Twitter) 集成到现有用户模型中?
【发布时间】:2013-04-01 19:22:48
【问题描述】:

我正在使用 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 列添加到此表并使其以这种方式工作吗?

【问题讨论】:

  • 我使用的是 OmniAuth,而不是 OAuth

标签: ruby-on-rails ruby twitter omniauth


【解决方案1】:

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

【讨论】:

    猜你喜欢
    • 2012-08-27
    • 2016-09-07
    • 2014-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-03-14
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多