小编Bas*_*ter的帖子

application和actioncable不会共享cookie

我正在使用设计进行身份验证,但是当我实现您的方法时,我得到"未经授权的连接尝试被拒绝"

经过几个小时的搜索,我发现:

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?

https://github.com/stsc3000/actioncable-chat.git

ruby cookies devise ruby-on-rails-4 actioncable

8
推荐指数
1
解决办法
3049
查看次数

标签 统计

actioncable ×1

cookies ×1

devise ×1

ruby ×1

ruby-on-rails-4 ×1