我遇到graphQLSchemaExtension
问题
我的自定义突变没有活动的会话。
下面的一个例子说明自定义变异的开始And my graphQLSchemaExtension声明And my Keystone.ts
文件
在我的通用查询/突变上,我有一个会话。在我的前端也是如此
谢谢〈3
我试图改变keystone.ts上的安全选项,但没有任何变化检查谷歌,检查KeystoneJS github问题
我遇到graphQLSchemaExtension
问题
我的自定义突变没有活动的会话。
下面的一个例子说明自定义变异的开始And my graphQLSchemaExtension声明And my Keystone.ts
文件
在我的通用查询/突变上,我有一个会话。在我的前端也是如此
谢谢〈3
我试图改变keystone.ts上的安全选项,但没有任何变化检查谷歌,检查KeystoneJS github问题
4条答案
按热度按时间f0ofjuux1#
我假设当你说“我的自定义变异上没有活动会话”时,你的意思是,在你的自定义变异解析器中,
context
参数的session
属性是null
?不确定是什么原因导致了您的情况。我创建了一个简单的Keystone应用程序,带有会话和自定义变体,但未能重现您描述的问题。在当前版本的Keystone中,自定义GraphQL语法与您使用的版本略有不同(docs,examples)。也有可能你看到的任何问题都已经被修复了。如果不知道你的
package.json
中的具体版本,很难知道。我的例子只有一个可以验证身份的User列表和一个名为
getRandom
的变量,它返回一个随机浮点数。下面是keystone.ts
:我在Keystone主存储库的一个克隆中的examples目录外运行这个程序,因此包的版本是最新的,特别是:
@keystone-6/auth@5.0.1
和@keystone-6/core@3.1.2
中的至少一个。数据库中手动植入了一个用户,因此我可以进行身份验证:
然后我启动应用程序,点击自定义突变:
如果没有当前会话,则
context.session
为null,正如您所期望的:但是,如果我使用种子用户记录登录到Admin UI,然后从GraphQL Playground(当然是在sam浏览器中)中点击该变体,我的GraphQL解析器将转储您所期望的会话对象:
pdkcd3nj2#
感谢您的回复
是
context.session
在自定义变异上为空我不理解GraphQL扩展的新语法:
type
的作用是什么?我的扩展:
更好的解决方案是共享此存储库。这是一个开放源代码的学习项目
项目链接:https://github.com/thibault60000/keystone-6-backend
感谢您抽出宝贵时间:)
wgeznvg73#
使用文档中的“Graphql工具合并架构”(https://keyonejs.com/docs/guides/schema-extension#title)
“context.session”仍然未定义:/
mzsu5hc04#
使用文档中的“Graphql工具合并架构”(https://keyonejs.com/docs/guides/schema-extension#title)
“context.session”仍然未定义:/
我尝试使用您的
graphql.extend(base)
语法,但日志dumping session object
也未定义:)