[英]Rails Dynamic Controller Authentication (Devise + Cookie or Token + Headers)
所以...
我目前有2个Rails控制器:一个用于设计身份验证,另一个用于令牌身份验证。 我正在尝试创建一个新的控制器,该控制器可用于在存在cookie时使用devise身份验证,或在不存在cookie时使用标头进行令牌身份验证。
我的直觉是让我的新控制器具有2个变量,每种认证控制器类型之一,并使用before_action
或before_filter
将检查cookie并将请求转发到正确的控制器。
请注意,我的设备身份验证控制器具有before_action :authenticate_user!
并且我的令牌身份验证控制器具有一个before_action :authenticate_using_headers
,但是我只想调用1,这取决于我的API被打的方式。
我对如何通过对现有控制器进行最小更改而优雅地实现这一目标的任何见解都受到赞赏。
如果authenticate_using_headers
返回nil
或false
如果身份验证失败),则可以在application_controller
执行此操作
def authenticate_token_or_user!
authenticate_using_headers || authenticate_user!
end
然后在要同时启用两者的控制器中:
before_filter :authenticate_token_or_user!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.