2016-12-29 4 views
-1

新しいウィンドウでヘッダーを設定し、URL(https://www.example.com)を開く方法。私は認証情報ヘッダを送信しなければなりません。なぜなら、それはURLリクエストパラメータの一部であってはならない情報を控えているからです。角型jsヘッダーを設定する方法新しいウィンドウでURLを取得する

私はこれを行うためにangularjsを使用しています。

私は既存の質問を終えました。 Convert $.param in angularjs how to add authentication header to $window.open Open a PDF in a new window of the browser with angularjs

言及したソリューションは、URLにトークンを追加され、いくつかは私のために働いていない...私を助けてください..

+0

暗号化をしてURLに渡して、ユーザーが理解できないようにすることをお勧めします。 –

+0

@VenkateshKonatham - パスワードです。ユーザーはそれを理解する必要はなく、コピーするだけです。 – Quentin

+0

ヘッダーはクライアント側ではなくサーバー側で設定されています。あなたの(example.com)ウェブサイトはあなたの組織によって管理されていますか?はいの場合 - まずあなたのトークンをクッキーに保存し、クッキーからそれを使用するように、いくつかの非表示のAjaxリクエストを行います。 – VadimB

答えて

0

送信するために、ブラウザのHTTPヘッダーを指定する方法はありません新しいページを読み込むとき。

あなたが来ることができる最も近いに次のようになります。

  1. は、データをロードするためにXMLHttpRequestを使用します(:

    1. を開き、その中に新しい文書を持つウィンドウ
    2. は、その文書にはJavaScriptを置きます
    3. 表示されたページの内容をそのデータで変更します。
    4. 履歴APIでURLを変更します
    5. URLから認証情報を盗聴から肩サーフィンを防ぐことができます

...しかし、それは問題を解決するために、本当に複雑な方法です。時間制限された資格情報を発行してURLに含めるだけで、コピーが難しいほど複雑な文字列にする方が簡単です。

ブラウザの開発ツールを使用してページのソースコードを見たり、HTTPリクエストを監視したり、そこにデータをコピーしたりすることを止めることはできません。ユーザーがそのアクセスを提供する資格情報にアクセスすると、不運になります。

関連する問題