【发布时间】:2016-02-07 19:53:44
【问题描述】:
我正在开发一个 Web 应用程序。我有两个单独的 UI 和 API 项目。 API 需要身份验证才能访问。我编写了一个通用代码来为每个 api 调用传递令牌。
App.config(function ($httpProvider) {
$httpProvider.interceptors.push('authInterceptorService');
});
这是我的 authInterceptorService 工厂代码。
var localStorageLocation = ngAuthSettings.localStorageLocation;
var authInterceptorServiceFactory = {};
var _request = function (config) {
config.headers = config.headers || {};
var authData = localStorageService.get(localStorageLocation);
if (authData) {
config.headers.Authorization = 'Bearer ' + authData.token;
}
return config;
}
authInterceptorServiceFactory.request = _request;
现在我有一个 API 可以下载 pdf 文件。我正在使用'window.location.href = uri'。但我得到了未经授权的异常。现在我想知道是否有办法在请求中传递我的令牌。除了使用 window.location 之外,还有其他方法可以访问我的文件下载 url(我更喜欢使用 window.location,但此时我迫切希望它能够以某种方式工作)。
【问题讨论】:
-
我并不是说我遇到了异常。我的意思是我无法访问 api,我得到“此请求的授权已被拒绝。”作为响应。
-
感谢您澄清这一点。你能分享来自浏览器Network面板的请求和相应的响应吗?这将有助于提供有关未经授权请求的原因的一些背景信息。
标签: javascript angularjs window.location