首页 > 解决方案 > CefSharp 共享会话 Cookies c#

问题描述

我构建了一个应用程序(CefSharp 浏览器)并尝试共享登录会话 cookie,但是当我在另一台设备上打开该应用程序时,cookie 不起作用.. 它要求再次登录。我想要做的是在不透露我的密码的情况下共享 cookie。当 cookie 过期时,我会再次更新它们,依此类推。

这就是我到目前为止所做的......我创建了一个文件夹(Temp)来将cookies保存在磁盘上,仅用于测试

        var path = "C:\\";
        var folder = Path.Combine(path, "Temp");
        Directory.CreateDirectory(folder);

然后我创建了一个cookie路径

        CefSettings settings = new CefSettings();        
        string path1 = "C:\\Temp\\";
        settings.CachePath = path1;
        Cef.Initialize(settings);

接着

        ِC1 = new ChromiumWebBrowser("https://subscene.com/");
        Panel1.Controls.Add(C1);
        C1.Dock = DockStyle.Fill;

当我将 Temp 文件夹 cookie 传输到另一台设备时,它不起作用......我不知道共享 cookie 的正确方法.. 我真的需要它提前谢谢

标签: c#cookieswebbrowser-controlcefsharp

解决方案


出于安全原因,cookie 在 Chromium 中进行了加密。在 Windows 上使用 DPAPI。

作为保护私人用户信息目标的一部分,这会使用特定于用户的加密 API 对操作系统上的 cookie 值进行加密,并且不会以其他方式保护这些数据

根据https://codereview.chromium.org/24734007

出于安全原因,无法在其他设备上读取 Cookie。


推荐阅读