2012-02-16 2 views
1

私たちは企業内のiOSアプリケーションを企業内の従業員に配備しており、ユーザーを認証してADグループメンバーシップに基づいて認可するSiteMinderを介してダウンロードサイトにアクセスできる人を管理しています。この認証プロセスでは、ユーザーが認証されたことを示すCookieがデバイス上に作成され(おそらく許可されているため)、各要求に対して何度も何度も何度もプロンプトが表示されることはありません。iOSモバイルデバイスのインストーラユーザーエージェント(Safariと異なる)が使用するCookieを削除できますか?

問題は、ユーザーがアプリを一度ダウンロードしてインストールすることができ、その後アプリが再びインストールされないことです。これは、資格情報のプロンプトループでキャッチされるためです。このループは、Siteminder認証Cookieが期限切れになっており、デバイス上のユーザーエージェントによって削除または更新されていないことが原因です。

これは、「itms-Services://」で始まるOTAのインストールURLがデバイス上のモバイルSafariとは異なるユーザーエージェントを使用していて、サイトからのクッキー削除コールは、そのクッキーを単独では削除しません。これは、Cookieを削除し、SafariでキャッシュとWebサイトのデータを消去しても問題が解決されないことを意味します。SafariはCookieを所有していません。

アプリを削除しても問題が解決されない場合や、デバイスをリブートしていない場合(私はまだデバイスを拭いてみることはできませんでした。

itms-servicesがデバイス上のCookieを削除するために使用していることをユーザーエージェントに伝える方法はありますか、またはiOSアプリケーション用のOTAデプロイメントではこの問題の回避策がありますか?

Apple AppStoreを使用することは、この場合実行可能な解決策ではありません。
新しいCookieが作成されるようにSiteMinderのパラメータを変更することは、このSiteMinderドメインがサポートする他のシングルサインオンユーザーに悪影響を及ぼします。

答えて

1

あなたは道、次のクッキーを削除することができます。

for(NSHTTPCookie *cookie in [[NSHTTPCookieStorage sharedHTTPCookieStorage] cookies]) { 

    if([[cookie domain] rangeOfString:@"mydomain.com"].location!=NSNotFound) { 

     [[NSHTTPCookieStorage sharedHTTPCookieStorage] deleteCookie:cookie]; 
    } 
} 
+0

これはどうやって実行されるはずですか?これは、iOSデバイス上のitms-servicesインストーラユーザーエージェントまたはSafari管理Cookieのクッキーストレージに影響しますか?私が読んでいることから、これは単にストーブでパイプされ、コードを実行するアプリケーションのクッキーにのみ影響します。 – ScottCher

+0

ああ、あなたがしようとしていたことを正確に誤解しました。私はあなたがこれを修正するためにあなたのサーバーを別に構成しなければならないと思う。クッキーがすぐに期限切れになることはできませんか? –

+0

これは問題です。クッキーは期限切れとなり、デバイス上で更新するために削除することはできません。特定のドメインのitms-servicesリンクから認証すると、明らかにもう一度やり直すことはできません。これは私が修正しようとしている問題です。 – ScottCher

3

我々は最近、同様の問題に直面しました。私たちは、 "Allow Head"をsiteminderの保護されたリソースに追加することで修正できました。サイト運営者の管理者は、許可操作として「GETとPOST」のみを有効にしている可能性があります。

関連する問題