(Monaca、Cordova)Web API 表单身份验证 (Cookie) 请求无效
(Monaca, Cordova) Web API request with form authentication (Cookie) not working
我有一个关于我的应用程序和 Web API 发布的问题。
问题还没有解决,还需要你的帮助!
规格
应用程序
- 该应用程序是使用 Monaca 构建的(https://monaca.io/ ,基于 Cordova,HTML / JavaScript / CSS),
- 使用 jQuery(版本 3.4.1)ajax 方法调用 Web APIs。
- 该应用程序需要先登录 API,使用 cookie 获取凭据,然后使用凭据调用其他 Web API 的其他请求。
网络 API
- 由 ASP.NET MVC (C#) 构建,并托管在 Microsoft Azure(应用服务)上。
- 如果请求中的 ID 和密码正确,则登录端点 returns 凭据。
- 其他 API 端点需要代码“[Authorize]”的授权。
问题详情
即使登录请求成功,下一个API调用returns错误(401未授权)。
这个问题在2020年1月24日就已经被报道过,现在也是。
跟踪数据(使用 Charles Proxy),我发现了以下内容:
- 登录 endpint returns 凭证(Set-Cookie:xxxx)。
- 在应用程序上,登录后的 API 调用不会发送 "Cookie" 凭据。
并非所有受支持的设备(iOS & Android 使用最新版本的 webview)都不会出现此问题
- Google Pixel 3a (Android 10):调用失败
- 摩托罗拉 Moto X4 (Android 9):失败
- 华为(Android6):失败
- iPhone SE (iOS 12.4): 失败
- iPhone 6 Plus (iOS 10.2.1): 调用成功
应用程序和 Web API 至少在过去 3 个月内没有更新。
我解决了这个问题。问题出在服务器端(Azure 上的 Web API)。
公告:Azure 应用服务上的 SameSite Cookie 处理和 .NET Framework 4.7.2 补丁可用性 - 微软问答(预览版)
https://docs.microsoft.com/answers/questions/6842/announcement-samesite-cookie-handling-and-net-fram.html
Web API 是在 Azure 应用服务上使用 ASP.NET MVC 4.5 构建的。 2020年1月,Azure上安装了新服务,然后WebAPI出现错误
按照上面页面的提示,问题已经解决
(我找不到为什么 API 在测试机器上运行良好 iPhone 6 Plus,iOS 10.2.1。)
我有一个关于我的应用程序和 Web API 发布的问题。 问题还没有解决,还需要你的帮助!
规格
应用程序
- 该应用程序是使用 Monaca 构建的(https://monaca.io/ ,基于 Cordova,HTML / JavaScript / CSS),
- 使用 jQuery(版本 3.4.1)ajax 方法调用 Web APIs。
- 该应用程序需要先登录 API,使用 cookie 获取凭据,然后使用凭据调用其他 Web API 的其他请求。
网络 API
- 由 ASP.NET MVC (C#) 构建,并托管在 Microsoft Azure(应用服务)上。
- 如果请求中的 ID 和密码正确,则登录端点 returns 凭据。
- 其他 API 端点需要代码“[Authorize]”的授权。
问题详情
即使登录请求成功,下一个API调用returns错误(401未授权)。 这个问题在2020年1月24日就已经被报道过,现在也是。
跟踪数据(使用 Charles Proxy),我发现了以下内容:
- 登录 endpint returns 凭证(Set-Cookie:xxxx)。
- 在应用程序上,登录后的 API 调用不会发送 "Cookie" 凭据。
并非所有受支持的设备(iOS & Android 使用最新版本的 webview)都不会出现此问题
- Google Pixel 3a (Android 10):调用失败
- 摩托罗拉 Moto X4 (Android 9):失败
- 华为(Android6):失败
- iPhone SE (iOS 12.4): 失败
- iPhone 6 Plus (iOS 10.2.1): 调用成功
应用程序和 Web API 至少在过去 3 个月内没有更新。
我解决了这个问题。问题出在服务器端(Azure 上的 Web API)。
公告:Azure 应用服务上的 SameSite Cookie 处理和 .NET Framework 4.7.2 补丁可用性 - 微软问答(预览版)
https://docs.microsoft.com/answers/questions/6842/announcement-samesite-cookie-handling-and-net-fram.html
Web API 是在 Azure 应用服务上使用 ASP.NET MVC 4.5 构建的。 2020年1月,Azure上安装了新服务,然后WebAPI出现错误
按照上面页面的提示,问题已经解决
(我找不到为什么 API 在测试机器上运行良好 iPhone 6 Plus,iOS 10.2.1。)