我正在设计一个 Rails 应用程序,该应用程序将从本机移动应用程序中使用。我是 Rails 的新手,因此我感到有些失落。我想实现以下目标:
• 移动应用程序的用户应该能够使用 Facebook 登录并邀请他们的朋友。
• 用户应获得授权才能调用 API。
为了保护 API(到目前为止我已经阅读了很多帖子),我决定执行以下操作:
• 在服务端使用 Devise gem 和 token_authenticable 来验证 API 的客户端,即我的移动应用程序。
工作流程如下:
• 在客户端应用程序上:用户使用facebook 登录并获得有效令牌。
• 在客户端应用程序上:Facebook 令牌被发送到服务。
• 关于服务:使用FB图我会确保用户是真实的。
o 如果它们存在于我的数据库中,我将为 api 生成一个令牌令牌。
o 否则,我会将它们添加到我的数据库中并为 api 生成一个令牌。
在我的控制器中,我正在使用before_filter :authenticate_user!
,但这似乎永远对用户进行身份验证。我的问题:
• 这是最好的方法吗?
• 如果api 令牌被截获怎么办?其他用户将能够使用该令牌调用 api?
任何文章、书籍、演员都将不胜感激。