Skip to content

Cookies issue #583

@anatoly-abramov

Description

@anatoly-abramov

Hello, i found issue with cookies. When using WebSocketModule, response returns Set-Cookie header with all request cookies joined into one cookie. NameValueCollection in WebSocketHandshakeResponse joins all the values under the same key via comma separator, which causes confusing result in response headers, like
image

This problem occurs only when Embedio built with WebSocketModule.
Perhaps, the problem is in line 26 in unexpected NameValueCollection.Add method behavior.
image
image
image

And WebSocketHandshakeResponse.cs, line 45 returns that merged cookie string.
image

Steps to reproduce the behavior:

  1. Run Embedio with WebSocketModule

A. (UWP) Set cookies for Microsoft.Web.WebView2.Core.CoreWebView2 via
CoreWebView2 .CoreWebView2.CookieManager.AddOrUpdateCookie(cookie);
B. (Android) Set cookies for Android.Webkit.WebView via
CookieManager.Instance.SetAcceptCookie(true);
CookieManager.Instance.SetAcceptThirdPartyCookies(webView, true);
CookieManager.Instance.SetCookie(cookie);

  1. Try to connect to the webocket
  2. Check response cookies via DevTools

Expected behavior should be:

Set-Cookie: en=culture
Set-Cookie: token=...

Desktop

  • Windows 10 Pro 22H2,
  • Browser Microsoft.Web.WebView2.Core.CoreWebView2
  • Version [Latest update]

Smartphone:

  • Device: Samsung SM-P613,
  • OS: Android 13
  • Browser Android.Webkit.WebView
  • Version [Latest update]

And additional question, for which purpose do we set cookies back to the client at WebSocketHandshakeResponse, line 43? Do we need that?

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions