Клиент Apollo: отправлять разные заголовки относительно аутентификации / авторизации - PullRequest
1 голос
/ 30 марта 2019

У меня в приложении часто будет маркер авторизации с истекшим сроком действия.

Однако я не хочу, чтобы эта ошибка блокировала запросы, не требующие авторизации.Что обходится?

Я хотел бы настроить свои заголовки для запросов, чтобы просто просмотреть страницу (которая не требует токена, поэтому отправляйте с пустым заголовком) и для запросов на редактирование данных (добавитьтокен и разрешить ошибку, чтобы заблокировать запрос).

Недопустимый токен с заголовками, установленными, как показано ниже для каждого запроса, теперь блокирует простую выборку открытых данных:

const client = new ApolloClient({
  uri: "http://localhost:8000/graphql",
  request: operation => {
    const token = sessionStorage.getItem('jwtToken');
    operation.setContext({
      headers: {
        'x-token': token || '',
      },
    });
  },
});
...