HTTPS呼叫不去在Cordova安卓版本apk



我无法在android版本apk中发布HTTPs调用。我有一个安卓应用程序,它会调用https进行登录,请求甚至无法到达服务器。然而,它在调试apk版本(http(中有效。服务器日志没有显示任何错误或警告,因为请求本身无法到达服务器。apk使用用于承载域的实际SHA证书进行签名。

loginHandler(value) {
this.loader.display(true);  

if (isNaN(value.email)) {
value.email = value.email.toLowerCase();
}
else {
value.email = value.email;
}
var loginValue = {
'username': value.email,
'password': value.password
}

this.loginService.loginService(loginValue)
.subscribe(res => {
this.loader.display(false);
this.message = '';
if (res.response.status === 'Success') {                    
} else {
this.errorMessage = res.response.validation;
this.errorMessage == 'Email not verified. Please check your email.' 
? this.showResendVerification = true 
: this.showResendVerification = false;
}
if (res.response.validation == "Email or phone number not verified.")
{
this.OTPHandler(value);
this.router.navigate(['/otp-verification']);
}
});
}

在cordova android应用程序的调试构建中,SSL错误被忽略,因此如果没有证书或证书不正确(例如dev服务器(,您可以访问任何服务器事件。

它在版本构建中表现不佳,如果服务器具有,https连接将失败

  • 没有SSL证书
  • 自签名证书
  • 从设备不信任的自动机构传递的证书
  • 为与您尝试访问的服务器/url不同的服务器/ull提供的证书

当然,您应该尝试打开设备上的浏览器,并打开您在应用程序中使用的https url。如果您收到有关安全性的警告,您就会知道服务器证书有问题。

您也可以尝试修补cordova源,这样即使在调试中也不会忽略ssl错误。请参阅本文。(那么您的ssl调用即使在调试中也应该失败(

最新更新