0

以下のように、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、特に iPad ios 6.1.3 で SLO を試してみると失敗し、http 0 が返されます。

IDPログから、Androidの場合、「クライアント証明書エラー、IPアドレス」という警告が表示されることがわかりましたが、信頼できる証明書なしで発信SSL接続を自動的に作成しようとします。一方、iOS では、署名されたアサーションが発行された後、接続を継続しません。

どうすればこれを解決できますか、または証明書の問題を回避する方法はありますか?

すべてのアドバイスをいただければ幸いです。

4

2 に答える 2

0

iOS が https ajax 呼び出しを自己署名証明書に呼び出せないという問題を発見しました。これは SDK の制限のようで、プラグインが必要になるか、appdelegate.m に次のコードを追加する必要があります。

@implementation NSURLRequest(DataController)

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

この投稿が役に立っ

その後、魔法のように機能しました。

于 2013-04-18T03:02:50.160 に答える