Итак, я создал кучу мутаций и запросов и соединил их вместе, что работает, и хотел ввести аутентификацию в микс.Я добавил заголовок HTTP «x-token» для хранения моего токена входа, чтобы иметь возможность удалять такие вещи, как их работа или самого пользователя.
const getMe = async req => {
const token = req.headers['x-token'];
if (token) {
try {
return await jwt.verify(token, "notSoSecret");
} catch (e) {
throw new AuthenticationError(
'Your session expired. Sign in again.',
);
}
}
};
const server = new ApolloServer({
typeDefs: schema,
resolvers,
formatError: error => {
// remove the internal sequelize error message
// leave only the important validation error
const message = error.message
.replace('SequelizeValidationError: ', '')
.replace('Validation error: ', '');
return {
...error,
message,
};
},
context: async ({ req }) => {
const me = await getMe(req);
return {
models,
me,
secret: "notSoSecret",
}
},
path: "/graphql"
});
server.applyMiddleware({ app });
sequelize.sync().then(async () => {
createUsersWithJob();
});
app.get("/playground", graphiql({ endpoint: "/graphql" }));
const handler = serverless(app);
export { handler };
const createUsersWithJob = ... //creates seed data
Поэтому, когда я добавляю токен, я просматриваюВ консоли командной строки я вижу, что устанавливаю нужный заголовок, но он повторяется снова и снова и не останавливается.Также игровая площадка получает ошибку «Сервер не может быть достигнут»
{
"error": "Response not successful: Received status code 400"
}
, и выполнение мутации deleteUser не работает, или любая другая мутация и запрос по этому вопросу, пока я не удалю заголовок HTTP, который я установил на детской площадке.
Существует вторичная проблема, при которой все в этом корневом файле выполняется дважды, но на данный момент это не так уж важно для меня, как обрисовано в заголовке.
Если кто-либо имеет какое-либо представление об этом,Я хотел бы знать больше.Заранее спасибо.
edit: просто быстрое редактирование, чтобы сказать, что оно отлично работает, когда я жестко кодирую уже существующего пользователя.