Итак, у меня есть приложение, которое регистрирует меня через Auth0 и сохраняет токен jwt в куки.
У меня также есть сервер 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}`)
});