cordova SAML 2.0 Single Log Out(SLO)问题与iOS和PhoneGap

bxgwgixi  于 2023-10-24  发布在  iOS
关注(0)|答案(2)|浏览(178)

我使用Phonegap和jQuery Ajax调用来执行注销,如下所示

$.ajax({
url: logoutURL,
type: "POST",
data: {},
cache: false,
success: function(data, textStatus, jqXHR){........},
error: function(jqXHR, textStatus, errorThrown){                

        alert("Logout Failed.");

    $.mobile.hidePageLoadingMsg();
    enableAllButtons(); 
}
});

注销URL是一个SAML 2.0单注销(SLO)URL.我已经在Android上测试了这个,它工作得很好.但是当我在iOS上尝试SLO特别是iPad iOS 6.1.3它会失败,它返回我一个http 0.
我刚刚从IDP日志中发现,对于Android,它有一个“客户端证书错误,IP地址”的警告,但它会自动尝试在没有可信证书的情况下创建传出的SSL连接。
我怎样才能解决这个问题,或者有没有办法绕过证书问题?
所有的建议都很感激。

aiazj4mn

aiazj4mn1#

这听起来不标准,所以我认为你最好的机会是与IDP提供商交谈。

am46iovg

am46iovg2#

我发现了这个问题,iOS无法调用自签名证书的https认证调用。这似乎是SDK的限制,你需要一个插件或在你的appdelegate中添加以下代码。m

@implementation NSURLRequest(DataController)

+ (BOOL)allowsAnyHTTPSCertificateForHost:(NSString *)host
{
    return YES; 
}
@end

我发现这篇文章很有帮助Ajax https调用在iOS中使用PhoneGap不工作?
然后它神奇地工作了。

相关问题