Итак, у меня есть приложение, которое регистрирует меня через Auth0 и сохраняет токен jwt в файле cookie.
У меня также есть сервер Apollo 2, который извлекает данные. Как защитить сервер Apollo и вернуть данные только в том случае, если пользователь вошел в систему и проверен сервером Auth0?
Приведенный ниже код взят прямо с https://www.apollographql.com, но я не понимаю, как обработать getUser(token)
ниже, чтобы фактически проверить наличие действительного JWT в заголовке авторизации, и если он присутствует, пользователю будет разрешен доступ к защищенным ресурсам?
// using apollo-server 2.x
const { ApolloServer } = require('apollo-server');
const server = new ApolloServer({
typeDefs,
resolvers,
context: ({ req }) => {
// get the user token from the headers
const token = req.headers.authorization || '';
// try to retrieve a user with the token
const user = getUser(token);
// add the user to the context
return { user };
},
});
server.listen().then(({ url }) => {
console.log(`???? Server ready at ${url}`)
});