2016-05-09 4 views

答えて

0

$window.location.hrefを使用すると、ブラウザはコードではなくHTTP要求を行います。したがって、認証ヘッダーを追加することはできません。

代わりにパラメータ?token=auth_tokenを使用することをお勧めします。 (より安全な)別のsuggesstionあり


あなたは時間といくつかの情報を期限切れに含まれる各PDFファイルのダウンロードトークンを生成することができますが、トークンは暗号化されます。サーバー側(あなたのAPI)では、トークンを取得してから解読し、このトークンが有効か無効かをチェックすることができます。有効な場合は、APIからFileContent型を返します。

など。
xxxxxxxxxxxxxxxxx.yyyyyyyyyyyyyyyyyyyyyyyy:付きyourdomain.com/api/document/aaa-bbb-ccc/download/xxxxxxxxxxxxxxxxx.yyyyyyyyyyyyyyyyy YYYYYYY


トークンがAAA-BBB-CCC:文書ID

+0

これは認証ヘッダーのみを使用する必要があります。パラメータとしてトークンを転送できません。そうしないと、この呼び出しのWeb APIを変更する必要があります。これは良い選択ではありません。 $リソースなどの他のオプションがある場合は、共有してください。 – Santanu

+0

ああ、今あなたの状況を理解しています。有効期限といくつかの情報を含むPDFファイルごとにダウンロードトークンを生成する別のオプションがあります。トークンは暗号化されます。サーバー側(あなたのAPI)では、トークンを取得し、それを解読し、このトークンが有効であるかどうかをチェックすることができます。有効な場合は、APIからFileContent型を返します。例えば。 yourdomain.com/document/aaa-bbb-ccc/download/xxxxxxxxxxxxxxxxx.yyyyyyyyyyyyyyyyyyyyyyyy。 xxxxxxxxxxxxxxxxx.yyyyyyyyyyyyyyyyyyyyyyyy:トークン。 aaa-bbb-ccc:documentId。 –

+0

はい、あなたは今ポイントを得ました。私はこのアプローチとその驚きのような作品を実装しました。私はこれを私の解決策として受け入れます、あなたがあなたの答えでこれを少し詳しく説明できるならば。 – Santanu

0

次のスニペットを試してみてください

$http({method: 'GET', url: 'www.google.com/someapi', headers: { 
    'Authorization': 'Basic QWxhZGRpbjpvcGVuIHNlc2FtZQ=='} 
}); 

ソース:https://stackoverflow.com/a/11876907/2134604

+0

この方法でPDFがダウンロードされていません。それで私は$ window.location.hrefを選んだのです。これを行うために$ windowに利用可能な機能がありますか?それとも$ resourceかもしれませんか? – Santanu

+0

次にparamsオプションを使用してヘッダを追加することができます –

+0

私に例を教えてもらえますか? – Santanu

関連する問題