ruby-on-rails - Rails + Devise + Facebook 身份验证

标签 ruby-on-rails facebook ruby-on-rails-3 devise

我有一个 API 和一个 Web 应用程序,使用 Rails 和 Devise gem 进行身份验证。 借助 Devise 和 Omniauth,我可以通过网站进行 Facebook 注册和 Facebook 登录。 我的 API 使用 token_authenticable 和 TokensController 进行保护,因此当您想首先与我的 API 进行交互时,您必须将您的用户名和密码传递给 TokensController,它会给您一个有效的 token ,我的问题是当用户注册 facebook,我应该将用户名和 facebook token 传递给 TokensController 来生成 token 吗?有一些标准方法可以做到这一点吗?

感谢您的评论。

最佳答案

在我看来,你可以选择任何你想要的,只要它符合你的标准:

  • 这是 secret
  • 您可以检索它
  • 它具有最低安全性(不仅仅是“123pw”)

所以你有两个类似的选择:

  • 使用 Facebook token 作为“密码”
  • 使用 Devise 生成的密码

通常,您在使用 Devise 创建 Facebook 用户时会生成密码。我猜你的 User.create 调用中有类似 :password => Devise.Friendly_token[0,20] 的代码?

加密密码通常为 60 个字符,Facebook token 可以有 up to 255 characters 。所以我个人会选择 Devise 生成的密码。它的长度足够安全,并且您不需要依赖 API 来检索它。

关于ruby-on-rails - Rails + Devise + Facebook 身份验证,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10719552/

相关文章:

java - Facebook4J friend 专辑照片

ruby-on-rails-3 - 网址中带有:username的路由错误

html - 无法在 Rails 4.0.8 中将邮件内容呈现为 html/文本格式

ruby-on-rails - 使用不同应用程序的单一登录接近 ruby​​ on rails

javascript - Facebook 的 Flux 是用什么语言编写的?它是如何转换为 JavaScript 的?

javascript - 在打开的窗口中监听 URL 变化

ruby - 如何使用 Ruby on Rails Mustache 从 ActiveModel 在 HTML 中预览

ruby-on-rails - Windows 7 x64 上的 Ruby on Rails SQLite 问题

ruby-on-rails - 无法安装 RMagic gem

ruby-on-rails - 覆盖 as_json 或 to_json 模型类名