2017-08-06 69 views
0

我有一個Node/Express後端,並且我正在使用React Client來使用API​​。我希望能夠在用戶註冊後設置授權標頭。這可確保後續請求與授權頭一起發送。在提取API中設置授權標頭

我可以看到它是如何在愛可信here以及如何做檢索在授權頭取here

是否有可能做到這一點與提取API,以及如何?

謝謝您提前。

回答

0

您可以通過標題爲獲取的第二個參數:

fetch(<your url>, { 
    headers: { 
    authorization: <whatever is needed here> 
    } 
}) 
0

據我所知,有沒有辦法使用默認選項/頭與fetch。您可以使用this third party library來得到它的工作,或者設置一些默認選項,你再與每個請求使用:

// defaultOptions.js 
const defaultOptions = { 
    headers: { 
    'Authorization': getTokenFromStore(), 
    }, 
}; 

export default defaultOptions; 

則使用默認選項,如:

import defaultOptions from './defaultOptions'; 

// With default options: 
fetch('/auth', defaultOptions); 

// With additional (non-default) options: 
fetch('/auth', { ...defaultOptions, body: JSON.stringify(additionalData) }); 
+0

謝謝。我使用所有這些,但我認爲應該有一種方法來使用Fetch API設置授權標頭。這個問題並沒有提出請求,而是在對用戶進行身份驗證後進行設置,以便在開發工具的我的**網絡**面板中,例如,我可以看到它的設置與其他事情一樣。 – Rowland

1
var url = "https://yourUrl"; 
var bearer = 'Bearer '+ bearer_token; 
fetch(url, { 
method: 'GET', 
withCredentials: true, 
credentials: 'include', 
headers: { 
    'Authorization': bearer, 
    'X-FP-API-KEY': 'iphone', 
    'Content-Type': 'application/json'} 
}).then((responseJson) => { 
    var items = JSON.parse(responseJson._bodyInit); 
}) 
.catch(error => this.setState({ 
isLoading: false, 
message: 'Something bad happened ' + error 
}));