我正在尝试使用Devisefor my Rails/ iOSapp 实现用户身份验证.我遇到了麻烦,因为我主要是Devise 的" 用户 ",并且正在将它用于纯网络应用程序,所以不需要为幕后发生的事情烦恼太多.现在我必须为基于API的应用程序构建身份验证,这完全是一个不同的世界.
我已经阅读了网络上处理这个主题的每一个教程(由于token_authenticatable已被弃用的事实,它们中的大多数已经过时)但仍然无法理解我需要做什么.
我还阅读了GitHub关于这个问题的原始要点,但仍然不明白他们在谈论什么.
我确信有些人就像我一样,只是一个" 用户 ",Devise所以不知道幕后发生了什么.
任何人都可以为移动应用程序实现基于API的身份验证系统提供简洁的解决方案吗?我的意思是它不可能那么复杂,Devise以前太棒了,因为我需要做的就是跑步rails generate,但这对我来说是个噩梦.
我正在构建一个Web应用程序和一个单独的API(以便用户可以使用Ruby on Rails与他人共享他们收集的数据).用户可以登录Web应用程序并填写应发布到API服务器的数据.
从我读过的所有内容到现在,我想我可以使用基于cookie的身份验证来检查用户是否登录到Web App.现在让我们假设用户想要将数据发布到API服务器.由于用户已通过Web App Server进行身份验证,因此应如何进行发布请求,以便API知道它正在从登录的特定用户获取数据.此外,如果用户想要从API获取数据,对他/她来说是私人的,应该如何为此目的提出请求?
在设计中,我如何访问用户的身份验证令牌.当ajax调用启动用户会话时,我需要能够从用户那里获取身份验证令牌.我尝试过在我的模型中添加:token_authenticable
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable
Run Code Online (Sandbox Code Playgroud)
还添加了以下名称的属性:authentication_token和:authenticity_token到attr_accessible.但是每当我尝试用user.auth调用authentication_token或者authenticity_token时,我会收到像这样的错误
NoMethodError: undefined method `authentication_token' for #<User:0x000001016b1140>
Run Code Online (Sandbox Code Playgroud)
对不起,我需要通过我的ajax调用来获取此令牌,(我工作的最后一个项目我有一个令人难以置信的BOOTLEG解决方案,其中设备几乎被撕掉了应用程序,我只需要这个该死的令牌)