基本用户身份验证适用于 Android,不适用于 iOS

Posted

技术标签:

【中文标题】基本用户身份验证适用于 Android,不适用于 iOS【英文标题】:Basic user authentication works on Android, does not on iOS 【发布时间】:2015-11-06 13:44:36 【问题描述】:

我正在构建一个使用基本用户身份验证从服务器获取数据的应用。这在 android 上运行良好,但在 ios 上没有任何反应。在 Safari 中也可以正常工作。

这是我正在使用的代码:

$.ajax(
    url: main_url+'api-cache/'+slug+'.json?r='+random_number(),
    dataType: 'json',
    headers: 
        'Authorization': "Basic " + btoa(localStorage.getItem('email') + ":" + localStorage.getItem('password'))
    
)
.done(function(result) 

main_url 是指向 https 网站的链接。

我也尝试过用户名和密码,就像 jQuery 文档说的一样,而且在发送之前,似乎没有任何效果。顺便说一句,如果没有身份验证,它就可以正常工作。结果似乎也是“.done”,因为“.fail”中没有触发错误。

帮助?哦,顺便说一句,我正在使用 Phonegap Build。

【问题讨论】:

【参考方案1】:

使用服务器上的几个标头而不是更改应用程序解决了问题:https://benjaminhorn.io/code/setting-cors-cross-origin-resource-sharing-on-apache-with-correct-response-headers-allowing-everything-through/

【讨论】:

以上是关于基本用户身份验证适用于 Android,不适用于 iOS的主要内容,如果未能解决你的问题,请参考以下文章

JWT 身份验证适用于 $http.get 但不适用于 $http.post

Cloudkit 身份验证仅适用于我的 alt 帐户,不适用于 Dev 或 Tester 帐户

AppAuth 登录重定向适用于 iOS,但不适用于 Android

XML解析不适用于lwuit应用程序的android构建

正则表达式验证不适用于 Google Chrome Android 应用程序,但适用于 Chrome 浏览器 - PC

Charles SSL Proxy 适用于 chrome 但不适用于应用程序