Никакой токен не возвращается после мутации входа в graphql - PullRequest
0 голосов
/ 23 сентября 2018

Я пытаюсь вернуть токен клиентской стороне после успешного входа в систему с помощью apollo-server-express.Но я получаю нулевые данные.Кто-нибудь может помочь?

**Here's my code:**

**//schema.js**

const { gql }=require('apollo-server-express');
const typeDefs = gql`

type User{
    id:ID!
    firstname:String!
    lastname:String!
    email:String!
    password:String!
}

type LoginResponse{
    ok:Boolean!
    token:String!
}

type Query{
    users:[User]
    user(id:ID!):User

}

type Mutation{
    loginUser(email:String!,password:String!):LoginResponse
}
`;
module.exports=typeDefs;

**//resolvers.js**

const jwt=require('jsonwebtoken');
const config=require('./confg');
const User=require('./models/User');

const resolvers={

Query:{
    users:()=>{

        return User.find();
    },

    user:(root,{id})=>{
        return User.findById(id);
    }

    },
Mutation:{
loginUser:(parent,{email,password})=>{

    User.find({email:email})
    .then(
        user=>{

          if(user[0].password===password){

            const mytoken=jwt.sign({
                id:user[0]._id,
                username:user[0].email
              },config.jwtSecret);


              const response={
                  ok:true,
                  token:mytoken

              }


            return response;
            }
            else{

                return {
                    ok: false,
                    errors: [{ path: 'password', message: 'Wrong password' }],
              };

            }
        })
        .catch(err=>{
            return {
                ok: false,
                errors: [{ path: 'email', message: 'Wrong email' }],
          };
        });
}
}
}

module.exports=resolvers;

// Клиентская сторона

мутация {loginUser (электронная почта: "pragse_p@live.com", пароль:"Pr @ gun12") {token ok}}

Вот результат, который я получил, запустив указанный выше код: {"data": {"loginUser": null}}

...