我正在使用devise_token_auth(https://github.com/lynndylanhurley/devise_token_auth)来验证移动设备,我还需要为我的网络应用程序使用设计。
问题是用户可以通过devise_token_auth注册,但如果用户登录并尝试在包含“before_action :authenticate_user!
”的控制器中调用某些功能,则会收到错误Authorized Users Only
。
我想知道是否有办法同时使用devise
和devise_token_auth
。
代码:
class RestrictedController < ApplicationController
before_action :authenticate_user!
def stuff
head :ok
end
end
答案 0 :(得分:0)
首先,您应该知道devise
不再管理用户的会话。这就是为什么建议使用devise_token_auth
。
每当您在Controller上指定before_action :authenticate_user!
时,所有操作(例如RestrictedController#stuff
)都需要用户登录。devise_token_auth
期望在下面列出的查询标题中收到4个参数
以下是您需要做的事情:
devise_token_auth
提供的路线登录。access-token
,client
,token-type
和uid
。access-token
,client
,token-type
和uid