Android CookieManager不会覆盖cookie值

时间:2017-12-04 18:56:44

标签: android xamarin cookies xamarin.forms xamarin.android

我正在使用混合Xamarin.Forms应用程序,其中一些部分是原生的,一些部分显示为来自网站的移动网页。因此,我们必须将我们的本机身份验证与Cookie同步,以确保两者都显示相同的数据。我已经建立了一个依赖服务来管理cookie,我们基本上只是检索它们或设置它们。要清楚,这段代码在某一点上有效,但现在似乎不再存在了。问题在于,当用户登录并且我们有cookie值来覆盖现有的cookie时,他们并没有像过去那样过度编写。

我认为这可能源于这样一个事实,即我们的网站将所有Cookie标记为安全且Android并不允许我们覆盖安全Cookie。这是个常见的问题吗?还有一些信息:

https://developer.xamarin.com/api/member/Android.Webkit.CookieManager.SetCookie/p/System.String/System.String/

这是我用来在android上设置我们的cookie:

    public void SetCookies(List<Cookie> cookies) {
        foreach (Cookie cookie in cookies) {
            CookieManager.Instance.SetCookie(cookie.Domain, cookie.ToString());
        }
    }

这里有一些示例日志记录,我看到该功能应该在用户登录后设置Cookie。我特别注意,他们的cartID没有及时更新新的价值进来了。

Cookies Coming in => ShopperId=5; LoginId=3; CartId=4; 
Cookies BEFORE set => http://apps.test.com: https://apps.test.com: CartId=2; http://www.test.com: https://www.test.com: CartId=2; 
Cookies AFTER set => http://apps.test.com:  ShopperId=5;  LoginId=3; https://apps.test.com: CartId=2;  ShopperId=5;  LoginId=3; http://www.test.com:  ShopperId=5;  LoginId=3; https://www.test.com: CartId=2;  ShopperId=5;  LoginId=3;

0 个答案:

没有答案