Chatwoot,会话/Cookie 问题,即使在从 Vue 端注销后,也会在自定义添加的 Rails 视图上获取“current_user”

问题描述

https://www.chatwoot.com 是开源聊天解决方案提供商应用。 用 Rails 和 Vuejs 开发。 它使用 DevisetokenAuth gem 进行身份验证。

我希望 current_user 在 Vue 端和 Rails 视图端都能工作。 所以如果我使用基于令牌的身份验证,它应该在双方都有效。

或者 当我以 DevisetokenAuth 身份登录时,它应该登录到 devise,当我从 DevisetokenAuth 注销时,它也应该从 Devise gem 端注销。

现在,如果我使用 include DevisetokenAuth::Concerns::SetUserByToken 并且在访问以 Rails 视图结束的操作时根本没有用户,我知道我正在从 Vue 端登录系统,但是有什么我可以做到两者都处于相同的身份验证状态。

但同时,如果我不包含 DevisetokenAuth::Concerns::SetUserByToken,即使我已注销,我也会得到 current_user,这是在 Vue 端给出的,指向 destroy 的操作 DevisetokenAuth::SessionsController }}

因此,当我在 Vue 端使用 cookie 纱线库处理 Cookie 时,当我没有在 Rails 视图中明确处理 cookie 时,要理解如何处理 cookie 是很复杂的。

我想要的只是在同一页面上,即使我在 Rails 视图相关的控制器或 Vuejs 视图上。 如果我对某些部分使用基于 Devise 的身份验证,而对其他部分使用基于 devisetokenauth 的身份验证。

这些场景可以相互同步吗? 我还在原始存储库的讨论中添加了这一点。这是网址。 https://github.com/chatwoot/chatwoot/discussions/1928

如果有人认为他们可以使这个问题易于理解并且仍能解释情况,非常欢迎!

任何帮助将不胜感激。 ??

谢谢!

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...