首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >设计和设计令牌

设计和设计令牌
EN

Stack Overflow用户
提问于 2016-09-01 21:09:54
回答 1查看 2.5K关注 0票数 1

我正在努力使rails网络应用程序和rails API一起用于移动应用程序。为此目的,我用的是“设计”和“设计象征”。

我配置路由,因为它是用Devise编写的,这样我就可以有常规设计和设计auth令牌的路由。

我有两个问题:

  1. 当我将包含DeviseTokenAuth::关注点::SetUserByToken添加到application_controller时,它会覆盖DeviseTokenAuth::SetUserByToken,而在web端,我正被令牌所诱惑。

可能的解决方案:我创建了API控制器继承的间隔ApiApplicationController。

代码语言:javascript
运行
复制
class ApiApplicationController < ActionController::Base
  include DeviseTokenAuth::Concerns::SetUserByToken
  protect_from_forgery with: :null_session
end
  1. 对于每个POST请求,我在API中以curl格式完成,我需要添加CSRF令牌。

可能的解决方案:我可以在ApplictionController和ApiApplicationController if: Proc.new { |c| c.request.format == 'application/json' }之后添加protect_from_forgery with: :null_session

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-02 06:18:58

我曾经把同样的问题交给你,我的解决方案目前正在起作用:

代码语言:javascript
运行
复制
# application_controller.rb
class ApplicationController < ActionController::Base
  protect_from_forgery with: :null_session, if: ->{request.format.json?}
end

# api_application_controller.rb
class ApiApplicationController < ActionController::Base
  include DeviseTokenAuth::Concerns::SetUserByToken

  before_action :authenticate_user!
end
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39280900

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档