Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 4.0.3-拒绝获取不安全的标题“AuthToken”_Android_Angularjs_Webview_Cross Domain_Response Headers - Fatal编程技术网

Android 4.0.3-拒绝获取不安全的标题“AuthToken”

Android 4.0.3-拒绝获取不安全的标题“AuthToken”,android,angularjs,webview,cross-domain,response-headers,Android,Angularjs,Webview,Cross Domain,Response Headers,我正在用AngularJS开发一个web应用程序,它既可以从浏览器访问,也可以嵌入到Android WebView中 我的团队伙伴开发了一些API,它们通过自定义头AuthToken识别用户。这些API在ASP.NET4.5中,他在Web.config文件中正确添加了访问控制暴露头参数 API公开了authorizeUser方法,该方法应允许我获取AuthToken头 如果我从浏览器Chrome、Firefox、IE、Safari、Opera浏览Web应用程序。。一切正常 当我将web应用程序嵌

我正在用AngularJS开发一个web应用程序,它既可以从浏览器访问,也可以嵌入到Android WebView中

我的团队伙伴开发了一些API,它们通过自定义头AuthToken识别用户。这些API在ASP.NET4.5中,他在Web.config文件中正确添加了访问控制暴露头参数

API公开了authorizeUser方法,该方法应允许我获取AuthToken头

如果我从浏览器Chrome、Firefox、IE、Safari、Opera浏览Web应用程序。。一切正常

当我将web应用程序嵌入到Android WebView中时,问题就出现了:对于大于4.2.2的Android版本,一切都正常。。但对于等于或低于4.2.2的Android版本,自定义标题AuthToken似乎被阻止进入浏览器

这似乎是Android WebView引擎的问题,它与Android股票浏览器相同。。我认为它认为AJAX请求是跨站点的,因此它切断了我的自定义头

我这么说是因为我确信web API会返回令牌

因此,我深入研究了AngularJS源代码并编辑了xhr.onreadystatechange的实现。。不再使用xhr.getAllResponseHeaders获取响应头。。我试图通过xhr.getResponseHeader一个接一个地阅读它们

但是当xhr.getResponseHeaderAuthToken被执行到Android WebView中时,我在Logcat中找到一个WebConsole日志,上面写着拒绝获取不安全的头AuthToken

你曾经遇到过类似的问题吗


如果您需要更多信息或一些代码片段,请告诉我

您可能需要查看SCE并为您的API设置白名单,否则所有不安全的操作都将被拒绝。您能提供更多信息吗?我是说。。我试图将我的API的url列入白名单,但没有任何改变。在AngularJS文档中,它说SCE只适用于插值表达式。我的问题不在插值表达式中。。它发生在接收$http.post的响应时