vue.js - 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])
}
}
解决方案
推荐阅读
- r - Dplyr 创建一个唯一的情侣 ID
- excel - 将字符串从 Excel 文件排序到 Matlab
- node.js - 检索对象数据 ejs
- c++ - 如何设置自己的点数据(以像素为单位)并赠送给 vtkPolyData 以在 vtk 中显示点(以像素为单位)?
- tensorflow - ModuleNotFoundError:没有名为“tflite_support.metadata_writers”的模块
- amazon-s3 - Django 中的 Sorl 缩略图。是否可以根据模型设置两个或多个存储配置文件?
- java - Spring引导上下文不断尝试连接到java rmi服务器并失败
- docker - 如何码头化.net项目
- powershell - 将 Resolve-DNSname 添加到 Hashtable
- windows - 限制 Windows 上的 git bash 执行