Доступ к GraphQL серверу с использованием express-router с express-graphql и паспортной аутентификацией
Я пытаюсь построить express-route
на мой сервер GraphQL, используя express-graphql
, Маршрут для graphql
клиенты должны быть доступны только после аутентификации, но graphiql
Маршрут должен быть доступен без аутентификации. Я использую passport-jwt для аутентификации.
Вот мой текущий код, где jwauth
Это паспорт реализации моей стратегии:
router.get(
'/graphql',
jwtauth.authenticate(),
graphqlHTTP({
schema: schema,
graphiql: true,
context: context,
pretty: true
})
);
Это естественно не сработает, так как я не могу использовать router.get
на этом пути.
Как я могу построить этот маршрут, учитывая, что мой сервер GraphQL будет доступен только после аутентификации, а мой GraphiQL будет доступен всем?