summaryrefslogtreecommitdiffstats
path: root/lib/initApollo.js
diff options
context:
space:
mode:
authorWes Bos <wesbos@gmail.com>2017-08-25 09:33:53 -0400
committerWes Bos <wesbos@gmail.com>2017-08-25 09:33:53 -0400
commit7af74ff8988961c988f03c95961b70c2918521ae (patch)
treed73cd0dd94751b76595b7febcae4162811c2040b /lib/initApollo.js
parent416c2cbae0e69b724876d232bf813eefd7550174 (diff)
yay
Diffstat (limited to 'lib/initApollo.js')
-rw-r--r--lib/initApollo.js32
1 files changed, 26 insertions, 6 deletions
diff --git a/lib/initApollo.js b/lib/initApollo.js
index 4ca3b05..de5c7f2 100644
--- a/lib/initApollo.js
+++ b/lib/initApollo.js
@@ -9,15 +9,35 @@ if (!process.browser) {
}
function create (initialState) {
+
+ const networkInterface = createNetworkInterface({
+ uri: 'https://api.graph.cool/simple/v1/cj5xz8szs28930145gct82bdj', // Server URL (must be absolute)
+ opts: { // Additional fetch() options like `credentials` or `headers`
+ credentials: 'same-origin',
+ }
+ });
+
+ // use the auth0IdToken in localStorage for authorized requests
+ networkInterface.use([
+ {
+ applyMiddleware(req, next) {
+ if (!req.options.headers) {
+ req.options.headers = {};
+ }
+
+ // get the authentication token from local storage if it exists
+ if (typeof localStorage !== 'undefined' && localStorage.getItem("auth0IdToken")) {
+ req.options.headers.authorization = `Bearer ${localStorage.getItem("auth0IdToken")}`;
+ }
+ next();
+ }
+ }
+ ]);
+
return new ApolloClient({
initialState,
ssrMode: !process.browser, // Disables forceFetch on the server (so queries are only run once)
- networkInterface: createNetworkInterface({
- uri: 'https://api.graph.cool/simple/v1/cj5xz8szs28930145gct82bdj', // Server URL (must be absolute)
- opts: { // Additional fetch() options like `credentials` or `headers`
- credentials: 'same-origin'
- }
- })
+ networkInterface
})
}