【发布时间】:2020-05-15 15:34:39
【问题描述】:
我有一个关于我的应用程序和 Web API 发布的问题。 问题还没有解决,需要你的帮助!
规格
应用程序
- 该应用使用 Monaca 构建(https://monaca.io/,基于 Cordova、HTML / JavaScript / CSS),
- 使用 jQuery(版本 3.4.1)ajax 方法调用 Web API。
- 应用首先需要登录 API,使用 cookie 获取凭据,然后使用凭据调用其他 Web API 的其他请求。
网络 API
- 由 ASP.NET MVC (C#) 构建,并在 Microsoft Azure(应用服务)上托管。
- 如果请求中的 ID 和密码正确,登录端点会返回凭据。
- 其他 API 端点需要使用代码“[Authorize]”进行授权。
问题详情
即使登录请求成功,下一个 API 调用也会返回错误(401 Unauthorized)。 此问题已于 2020 年 1 月 24 日报告,甚至现在。
跟踪数据(使用 Charles Proxy),我发现以下内容:
- Login endpint 返回凭据(Set-Cookie: xxxx)。
- 在应用程序上,登录后的 API 调用不会发送“Cookie”凭据。
并非所有受支持的设备都出现此问题(iOS 和 Android 以及最新版本的 webview)
- Google Pixel 3a (Android 10):调用失败
- 摩托罗拉 Moto X4 (Android 9):失败
- 华为(Android 6):失败
- iPhone SE (iOS 12.4):失败
- iPhone 6 Plus (iOS 10.2.1):调用成功
应用和 Web API 至少在过去 3 个月内没有更新。
【问题讨论】:
标签: android ios cordova asp.net-web-api monaca