我正在使用设计进行身份验证,但是当我实现您的方法时,我得到"未经授权的连接尝试被拒绝"
经过几个小时的搜索,我发现:
cookies.signed['user.id']
Run Code Online (Sandbox Code Playgroud)
返回零.在以下代码块中.
def find_verified_user
if verified_user = User.find_by(id: cookies.signed['user.id'])
verified_user
else
reject_unauthorized_connection
end
end
Run Code Online (Sandbox Code Playgroud)
我检查了肯定有一个cookie,但它不包含Devise设置的cookie数据.
要检查'user.id'是否实际设置,我在视图中提升它.这是例外,返回用户ID
Signed in as @#{cookies.signed[:username]}.
- raise(cookies.signed['user.id'].inspect)
%br/
%br/
#messages
%br/
%br/
= form_for :message, url: messages_path, remote: true, id: 'messages-form' do |f|
= f.label :body, 'Enter a message:'
%br/
= f.text_field :body
%br/
= f.submit 'Send message'
Run Code Online (Sandbox Code Playgroud)
似乎cookie在actioncable服务器上不可用.
有没有办法与有线服务器共享Devise设置的cookie?