Может быть, это очень простой вопрос, поэтому, пожалуйста, потерпите меня.Позвольте мне объяснить, что я делаю и что мне действительно нужно.
ОБЪЯСНЕНИЕ
Я создал сервер Graphql с помощью ApolloGraphql (модуль apollo-server-express npm).
Вот фрагмент кода, чтобы дать вам представление.
api.js
import express from 'express'
import rootSchema from './root-schema'
.... // some extra code
app = express.router()
app.use(jwtaAuthenticator) // --> this code authenticates Authorization header
.... // some more middleware's added
const graphQLServer = new ApolloServer({
schema: rootSchema, // --> this is root schema object
context: context => context,
introspection: true,
})
graphQLServer.applyMiddleware({ app, path: '/graphql' })
server.js
import http from 'http'
import express from 'express'
import apiRouter from './api' // --> the above file
const app = express()
app.use([some middlewares])
app.use('/', apiRouter)
....
....
export async function init () {
try {
const httpServer = http.createServer(app)
httpServer
.listen(PORT)
.on('error', (err) => { setTimeout(() => process.exit(1), 5000) })
} catch (err) {
setTimeout(() => process.exit(1), 5000)
}
console.log('Server started --- ', PORT)
}
export default app
index.js
require('babel-core')
require('babel-polyfill')
require = require('esm')(module/* , options */)
const server = require('./server.js') // --> the above file
server.init()
ПОСТАНОВКА ЗАДАЧИ
Я использую узел index.js для запуска приложения.Итак, приложение ожидает, что заголовок Authorization (токен JWT) будет присутствовать постоянно, даже для запроса introspection .Но это не то, что я хочу, я хочу, чтобы запрос самоанализа был разрешен даже без токена.Чтобы каждый мог ознакомиться с документацией.
Пожалуйста, пролите немного света и, пожалуйста, укажите, как лучше всего это сделать.Удачного кодирования:)