配置仅下载控制器并阻止Warden将401转换为302

时间:2018-07-05 13:43:00

标签: devise ruby-on-rails-5 actioncontroller warden

我有一个Rails应用程序(主要是API调用),但是我需要一些端点来专门下载一些后端生成的文件(例如日历ICS文件)

我像我的API一样通过JSON Web令牌处理授权(基本上是一些before_action,它将在HTTP标头中查找令牌)并相应地设置了current_user)。

如果我的用户未发送身份验证凭据,则我想覆盖Warden行为(这包括重定向到某些登录页面)并呈现一些基本的HTML模板(或者,实际上,即使呈现任何内容也无济于事,只要我得到了401状态)。

我在https://groups.google.com/forum/#!topic/plataformatec-devise/kwoufTMcm_U上找到了一些提示,但是我不确定如何以干净的方式实现它。

我在想以下几点:我的请求被解释为HTML请求,实际上您会建议使用其他类型吗?也许如果我有这种非HTML自定义请求类型,我实际上会跳过监护人重定向而不会花费太多精力(例如其他API控制器的JSON吗?)?

0 个答案:

没有答案