微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Nuxt 阿波罗认证

如何解决Nuxt 阿波罗认证

我尝试使用 nuxt 和 apollo 构建身份验证。 登录注册非常简单,也可以设置 jwt 令牌,但是当我的令牌过期并且我尝试获取刷新令牌或注销我的用户时,我收到以下错误

Invariant Violation
Store reset while query was in flight (not completed in link chain)

由于我在 nuxt.config.js 中定义的错误处理程序不起作用,我尝试构建自己的客户端。

所以我设置了 apollo.clientConfigs.default 我的 ~/graphql/config.ts 看起来像

export default ({ app }: Context) => {
  const errorLink = onError(({ graphQLErrors,networkError,operation,forward }) => {
    if (graphQLErrors) {
      graphQLErrors.map(async (err) => {
        if (err?.extensions?.exception.status === 401) {
          await app.$apolloHelpers.onlogout()
        }

        return err
      })

      return forward(operation)
    }

    if (networkError) {
      console.log(networkError,'and another one!')
      return forward(operation)
    }

    return forward(operation)
  })

  return {
    httpEndpoint: 'http://localhost:3001/graphql',link: from([errorLink as any])
  }
}

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。