2017-06-05 52 views
1

我一直在努力尋找這個問題無濟於事,我會解釋這種情況。

我有一個角度的應用程序,可以認證使用jwt令牌,在標頭中存儲令牌。當我登錄到應用程序,我試圖消費一個外部api(musicbrainz),我收到一個錯誤400.

如果我沒有登錄請求確實工作大部分時間,有時我得到503或400不太確定,如果它的某些API相關,但基本上登出請求的API作品。

我假設它與x-access-token被設置和我的應用使用http攔截器來檢測令牌有關。

如何在標題中包含令牌時獲取api請求?歡呼聲夥計

回答

0

您需要有選擇性地瞭解何時應用Authorization標題(或您正在使用的任何標題)。

我建議使用您攔截一些定製的配置邏輯,這樣

request: function(config) { 
    if (!config.external) { 
    config.headers.Authorization = 'Bearer ' + whatever 
    } 
    return config 
} 

然後,在你請求外部API,只需添加以下配置

$http.get('http://musicbrainz.api', { 
    external: true 
}) 

的替代方案是檢查config.url,並僅將Authorization標頭應用於相應的服務。

+0

.config(函數($ httpProvider){http://Provider.interceptors.push('AuthInterceptors'); }); 這是我在我的app.js是在哪裏我的意思是應用上述代碼? – Elevant

+0

@Elevant不會,它會在你的'AuthInterceptors'工廠(或其它什麼) – Phil

相關問題