Spring Boot - Graphql - доступ к заголовкам из произвольного кода распознавателя - PullRequest
0 голосов
/ 06 сентября 2018

Я использую GraphQL (Spring Boot, Kotlin), и у меня есть специфическая проблема с заголовками.

Нам нужно, чтобы клиент отправил три части информации, которые мы объединяем для извлечения внутренних конфиденциальных данных. Эти данные затем используются внутри кодов распознавателя.

Получить заголовки из покоя так же просто, как и @RequestHeader, но в GraphQL это оказалось довольно сложно. Есть ли способ сохранить заголовки, чтобы проверить, какие три части информации мне нужны?

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

Я всегда мог просто запросить аутентификацию как тип GraphQL, но это накладывает на клиента довольно большую нагрузку и усложняет схему.

Любые отзывы приветствуются.

1 Ответ

0 голосов
/ 08 сентября 2018

GraphQL имеет FetchDataEnvironment. Вы можете использовать его, передавая FetchDataEnvironment в качестве последней переменной в любом преобразователе / ​​запросе. Тогда просто позвоните environment.getContext<GraphQLEnvironentClass>().getHttpServletRequest.headers()

Кому-нибудь в будущем - извините, этот код не является точным, но ваш строгий ввод в вашей IDE покажет вам, что я имею в виду.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...