我正在使用混合Xamarin.Forms应用程序,其中一些部分是原生的,一些部分显示为来自网站的移动网页。因此,我们必须将我们的本机身份验证与Cookie同步,以确保两者都显示相同的数据。我已经建立了一个依赖服务来管理cookie,我们基本上只是检索它们或设置它们。要清楚,这段代码在某一点上有效,但现在似乎不再存在了。问题在于,当用户登录并且我们有cookie值来覆盖现有的cookie时,他们并没有像过去那样过度编写。
我认为这可能源于这样一个事实,即我们的网站将所有Cookie标记为安全且Android并不允许我们覆盖安全Cookie。这是个常见的问题吗?还有一些信息:
这是我用来在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;