Назначение cook ie ответу со стороны сервера JWT в проекте GraphQL && Node.js, как клиентская часть может получить cook ie? - PullRequest
0 голосов
/ 17 июня 2020

В настоящее время я использую JWT для подписи повара ie в ответе через GraphQL, но это произошло после того, как JWT успешно сгенерировал токен и назначил accessToken в res.cook ie ('accessToke', acessToken) , внешний интерфейс не может правильно получить ie cook.

Это настройка, которую я использую для GraphQL на стороне сервера:

 app.use( '/', cors(), 
   graphqlHTTP((req, res) => ({
   schema,
   graphiql: true,
   pretty: true,
   context: {req, res}
  })));

Это настройка, которую я использовал для клиента -side для подключения к бэкэнду

const client = new ApolloClient({
 cache: new InMemoryCache(),
 uri: 'http://localhost:5000/',
});

И это преобразователь, как я обрабатываю повар ie в GraphQL ( Пользователь и jswToken могут быть успешно извлечены и сгенерированы, но добавить повар ie назначается res должным образом после того, как я console.log () это, но в интерфейсе я не видел, чтобы приготовление ie возвращалось в инструменте отладчика из Chrome в разделе приложения ):

const login = {
 type: user,
 args: { 
   userName: {type: GraphQLString},
   password: {type: GraphQLString}
 },
resolve: async(_, { id, password }, context) => {

 const userService = new UserService();

  const user = await userService.getUserInfo(userName);

  const jswToken = jsonwebtoken.sign(
    {user},
    privateKey,
    {expiresIn: "1d"}
  );

  res.cookie('accessToken',jswToken );
  return user;

 })

Моя настройка очень близка к ответу в этой ссылке: GraphQL выдаёт JWT / Cook ie

...