我正在使用GraphQL Shield来测试Prisma GraphQL,顺便说一下!
A,我正在尝试使用JWT创建登录系统,但是我发现了瓶颈。
这将不起作用
Mutation: {
login: (_, data: UserWhereUniqueInput, ctx) => {
return ctx.db
.user({ email: ctx.request.body.variables.email, password: ctx.request.body.variables.password })
.then(res => {
console.log(res)
})
.catch(err => err)
},
...
}
但这确实
如果我更改为密码,它将起作用。 (所以只有一个条件在哪里)
Mutation: {
login: (_, data: UserWhereUniqueInput, ctx) => {
return ctx.db
.user({ email: ctx.request.body.variables.email })
.then(res => {
console.log(res)
})
.catch(err => err)
},
...
}
那是为什么?
另一件事是:
如果我像这样向ctx.db
添加查询:
Mutation: {
login: (_, data: UserWhereUniqueInput, ctx) => {
return ctx.db.query
.user({ email: ctx.request.body.variables.email })
.then(res => {
console.log(res)
})
.catch(err => err)
},
...
}
我知道
错误:未经授权!
即使我在graphQL盾上使用allow
Mutation: {
login: allow,
},
Query: {
user: allow,
}
有什么想法吗? :/
如果一个知识水平超过我的人可以指出正确的方向,我将不胜感激