我想将一个令牌从我的redux商店传递给我的所有Apollo请求。我知道你可以转发cookies
const networkInterface = createNetworkInterface({
uri: '/graphql',
opts: {
credentials: 'same-origin',
},
});
但我想将它添加到标题中。
networkInterface.use([{
applyMiddleware(req, next) {
if (!req.options.headers) {
req.options.headers = {}; // Create the header object if needed.
}
// get the authentication token from local storage if it exists
const token = localStorage.getItem('token');
req.options.headers.authorization = token ? `Bearer ${token}` : null;
next();
}
}]);
但如何从商店中取出token
。从localStorage
中取出它不是一个选项,因为我的应用程序是服务器端呈现的,所以我始终无法访问localStorage
。我需要能够访问Redux商店。我该怎么做?