2016-06-28 34 views
9

私のアプリケーションでは、ユーザーがさまざまな種類のファイルをクリックして表示してダウンロードする画面があります。ただし、この画面は、ユーザーがWebサイトからログインした後にのみアクセスできます。iOSでCookieやヘッダーをプリセットしてSafariでURLを開くにはどうすればよいですか?

私はこの方法を使用することによって、私のURLをSafariブラウザを起動します。

UIApplication.sharedApplication().openURL(NSURL(string: url)!) 

彼はまだウェブサイトを使用する権限を持っていないためしかし、ユーザーがログイン画面にリダイレクトされています。

私の質問は、Safariにクッキーやヘッダーを渡してURLを起動する方法です。

+0

どうもありがとうございました。 – Dory

+0

私はあなたがこのリンクhttp://stackoverflow.com/questions/1604884/setting-a-cookie-in-an-iphone-appで同じように実装したいと思います – sandy

答えて

0

これを直接行うことはできません。 openURLそれだけで、それ以上はありません。

URLに必要な資格情報を渡す必要があります。ターゲットサーバは、それらをURLから読み取って、応答内に所望のクッキーを設定することができる。

これを実装する場合は、悪用して任意のCookieを設定したり、セッション固定攻撃を実行できないようにしてください。 iOSアプリの連絡先で

  1. サーバーの有効な認証クッキーを使用して、サーバーがために保存する必要があるワンタイムの長いランダムキー、を求める:しっかりとそれを実現するための一つの方法は、ワンタイムIDを使用することですしばらく。
  2. ユーザーをURLにリダイレクト?key=<that one-time key>
  3. サーバーでキーが一致していることを確認し、ユーザーのCookieを設定してキーを削除します。
関連する問題