Rails ActionCable 的 Cookie 鉴权方式不会不安全么?

xlaok · 2016年06月03日 · 最后由 embbnux 回复于 2016年06月03日 · 2605 次阅读

目前无论是官方文档,或者 DHH 的 demo,或者 ruby-china 的应用,actioncable 的鉴权都通过 cookie 的方式鉴权

def find_verified_user
         if current_user = User.find_by(id: cookies.signed[:user_id])
           current_user
         else
          reject_unauthorized_connection
         end
end

那我在前端随意修改 cookie.signed[:user_id] 不就可以随意查看别人的消息了?

既然是 signed cookie, 当然是服务器加密过的,而且除了服务器,任何人无法解密。

#1 楼 @lyfi2003 原来是这样,了解了。那如果前后端分离,还需要想别的办法鉴权了

#2 楼 @xlaok 为什么前后端分离的话 需要想别的办法?(如果是 手机 app 端的话 是需要的)

#3 楼 @pathbox 前后端分离的话,后端无法对前端植入 cookie 了

如果有个中间层的话,中间层和后端可以用 oauth 认证,浏览器和中间层还是用 cookie。 另:rails 里 session 数据除了用 cookie 加密存在浏览器,可以存在数据库或者 redis 里,浏览器和服务器通讯可以只用一个 session id 就可以

需要 登录 后方可回复, 如果你还没有账号请 注册新账号