是否有任何标志可以设置为指示Devise如果我使用web API并且如果我正在使用浏览器时发送会话cookie则不发送会话cookie?
解决方法 我有同样的问题.我的API的Sessions控制器中有一行:
warden.authenticate!(:scope => resource_name,:recall => "#{controller_path}#failure")
它记录了用户并创建了一个会话(我最初没有注意到)
解决方案是使用与此类似的东西(在blogpost中找到):
@user=User.find_by_email(email.downcase)if @user.nil? render :status=>401,:Json=>{:message=>"InvalID email or password."} returnend# http://rdoc.info/github/plataformatec/devise/master/Devise/Models/TokenAuthenticatable@user.ensure_authentication_token!if not @user.valID_password?(password) logger.info("User #{email} Failed signin,password \"#{password}\" is invalID") render :status=>401,:Json=>{:message=>"InvalID email or password."}else render :status=>200,:Json=>{:token=>@user.authentication_token}end
基本上不记录用户,但检索令牌.除了退出之外的其他应用程序工作正常.
总结以上是内存溢出为你收集整理的ruby-on-rails – 设计不带会话cookie的token_authenticatable全部内容,希望文章能够帮你解决ruby-on-rails – 设计不带会话cookie的token_authenticatable所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)