cordova-issues mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF GitHub Bot (JIRA)" <>
Subject [jira] [Commented] (CB-8761) WP8: FileTransfer does not inherit cookies from WebBrowser
Date Fri, 24 Apr 2015 21:16:38 GMT


ASF GitHub Bot commented on CB-8761:

Github user sgrebnov commented on a diff in the pull request:
    --- Diff: src/wp/FileTransfer.cs ---
    @@ -210,6 +216,80 @@ public FileTransferProgress(long bTotal = 0, long bLoaded = 0)
             /// <summary>
    +        /// Helper method to copy all relevant cookies from the WebBrowser control into
a header on
    +        /// the HttpWebRequest
    +        /// </summary>
    +        /// <param name="browser">The source browser to copy the cookies from</param>
    +        /// <param name="webRequest">The destination HttpWebRequest to add the
cookie header to</param>
    +        /// <returns>Nothing</returns>
    +        private async Task CopyCookiesFromWebBrowser(HttpWebRequest webRequest)
    +        {
    +            var tcs = new TaskCompletionSource<object>();
    +            // Accessing WebBrowser needs to happen on the UI thread
    +            Deployment.Current.Dispatcher.BeginInvoke(() =>
    --- End diff --
    I think we can use Invoke() instead of BeginInvoke() here so we don't need to additionally
use TaskCompletionSource.

> WP8: FileTransfer does not inherit cookies from WebBrowser
> ----------------------------------------------------------
>                 Key: CB-8761
>                 URL:
>             Project: Apache Cordova
>          Issue Type: Improvement
>          Components: Plugin File Transfer
>            Reporter: Dan Polivy
> On Android and iOS (and presumably other platforms), the file transfer plugin will inherit
any relevant cookies from the WebBrowser control when communicating with a particular domain.
On WP8, however, that is not the case, as HttpWebRequest does not share cookies with the WebBrowser
> When cookies are used for authentication, and authentication is required for file uploads,
it becomes important to be able to set cookies on the HttpWebRequest containing the upload.
This should be supported on WP8 like it is on other platforms.
> I have built a solution to this problem that works; it essentially copies the relevant
cookies from the WebBrowser control and manually generates a Cookie header for the HttpWebRequest.
Due to some bugs in the version of .NET on WP8, not all cookie data is accessible in this
manner (e.g. path, domain), however enough is there to get the job done.
> This fix is more limited to only scenarios where the browser scheme and host match that
of the file transfer request to avoid any security issues with cookies going to the wrong
domain. In my scenario, I am hosting my web pages remotely, on the same server I upload files
to, so this works OK. Unfortunately, it won't help with scenarios where the transfer is to
a different remote host.

This message was sent by Atlassian JIRA

To unsubscribe, e-mail:
For additional commands, e-mail:

View raw message