2013-04-15 67 views
0

我使用的PhoneGap和jQuery AJAX調用到像下面SAML 2.0單註銷(SLO)發佈iOS和PhoneGap的

$.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專門iPad的ios 6.1.3上的SLO它會失敗,它會返回我一個http 0.

我剛剛從IDP日誌中發現,對於Android它有一個警告「客戶端證書錯誤,IP地址「,但它會自動嘗試創建傳出SSL連接而不使用可信任的證書。另一方面,在iOS上,簽名斷言發佈後,它不會繼續連接。

我該如何解決這個問題或者是否有辦法繞過證書問題?

所有建議表示讚賞。

回答

0

我發現iOS無法調用https ajax調用自簽名證書的問題。現在看來,這是一個SDK限制,您將需要一個插件或在您的appdelegate.m

@implementation NSURLRequest(DataController) 

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

添加以下代碼我發現這個職位有幫助Ajax https call in ios using PhoneGap not working?

然後,它奇蹟般地工作。

0

這聽起來不合標準,所以我認爲你最好的辦法是與IDP提供商交談。