Laravel authentication Laravel lighthouse 4.16在不使用@middleware(已弃用)的情况下获取当前用户

Laravel authentication Laravel lighthouse 4.16在不使用@middleware(已弃用)的情况下获取当前用户,laravel-authentication,laravel-lighthouse,Laravel Authentication,Laravel Lighthouse,我有以下变异 type Mutation { # ... createArticle(title: String!, content: String!): Article @field(resolver: "ArticleMutator@create") @middleware(checks: ["auth:api"]) // here is the problem related to relation of a user

我有以下变异

type Mutation {
  # ...

  createArticle(title: String!, content: String!): Article 
    @field(resolver: "ArticleMutator@create")
    
@middleware(checks: ["auth:api"]) // here is the problem related to relation of a user and an article
}
在Laravel Lighthouse 4.16中不能再使用@middleware指令

所以我想知道我可以使用哪种方法来检索当前经过身份验证的用户并同时创建与文章的关系

在此更新完整项目

我也不知道为什么我不能从上下文中获取user.id。我在文档中找不到与此问题相关的任何内容

以下是与我的问题相关的两个文件

使用Matt Davenport建议@guard时出错

type Mutation @guard(with: ["api"]) {
    createArticle(title: String!, content: String!): Article
        @field(resolver: "ArticleMutator")
}
{
“错误”:[
{
“debugMessage”:“在null上调用成员函数articles()”,
“消息”:“内部服务器错误”,
“扩展”:{
“类别”:“内部”
},
“地点”:[
{
“行”:6,
“专栏”:3
}
],
“路径”:[
“createArticle”
],

提前感谢

为了支持
@guard
@middleware
指令已被弃用,因此我将这样做:

type Mutation @guard(with: ["api"]) {
  createArticle(title: String!, content: String!): Article @field(resolver: "ArticleMutator@create")
}

@middleware
指令已被弃用,取而代之的是
@guard
,因此我将这样做:

type Mutation @guard(with: ["api"]) {
  createArticle(title: String!, content: String!): Article @field(resolver: "ArticleMutator@create")
}

不幸的是,它不起作用。我会把我所有的代码都发布到GitHub上,如果你有时间,也许你可以告诉我,为什么它不起作用,因为我尽了全力,但没有结果。我不确定你说的“它不起作用”是什么意思。是否存在错误,或您不希望出现的结果?此外,当我第一次看到此错误时,我检查了模型关系,但它们似乎没有问题。我真的不知道是什么导致了此问题。“在null上调用成员函数articles()”,来自文档:>请注意@guard不会登录用户。为了确保用户已登录,请将AttemptAuthenticate中间件添加到lighthouse.php中间件配置中。不幸的是,它无法工作。我将在GitHub上发布我的所有代码,如果您有时间,您可以告诉我,为什么它无法工作,因为我尝试了所有可能的方法,但没有结果。我不知道你说的“它不起作用”是什么意思。是否有错误,或者是你不期望的结果?还有,当我第一次看到这个错误时,我检查了我的模型关系,但它们看起来很好。我真的不知道是什么导致了这个问题。“调用成员函数articles()(空值)”,来自docs:>注意@guard不会登录用户。要确保用户已登录,请将AttemptAuthenticate中间件添加到lighthouse.php中间件配置中。