问题标签 [urql]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
nuxt.js - 我应该在哪里存储我的 JWT 令牌,httpOnly 对 cookie 意味着什么?
我阅读了有关身份验证的文档。我在 Nuxt 项目上工作,我的服务器返回一个 cookieHtppOnly
我的问题:
关于 JWT 令牌的存储有很多困惑,有些不建议使用localStroage
我还阅读了我们可以将令牌直接复制到下一个请求的标头中,但我没有找到示例。此外,当 cookie 存在时HttpOnly
,由于 JavaScript 无法访问,我们如何使用它?
资源:
- nuxt/auth => https://www.npmjs.com/package/@nuxtjs/auth-next
- urql/auth => https://www.npmjs.com/package/@urql/exchange-auth
- https://formidable.com/open-source/urql/docs/advanced/authentication/
- https://formidable.com/open-source/urql/docs/api/auth-exchange/#options
- https://github.com/FormidableLabs/urql/tree/main/exchanges/auth#quick-start-guide
- https://blog.logrocket.com/jwt-authentication-best-practices/
- https://www.howtographql.com/react-urql/5-authentication/
reactjs - urql exchange-auth 在使用 useQuery 从不同服务器获取时创建两个请求
我正在尝试从另一个身份验证服务器获取用户,并且我正在使用 useQuery:
但是 authExchange 正在执行该请求两次。我知道它来自 authExchange,因为没有在客户端上设置它,请求就会正常执行。创建客户端:
当我在不创建 useQuery 的情况下使用 useMutation 时,请求只发送一次,但发送到第一台服务器,这不是我需要的。
reactjs - 使用 graphql 客户端在组件之间传递获取状态
我正在为文件浏览器构建前端,其设计方式与 Google Drive 相同。当用户单击创建新文件夹时,会弹出一个模态并输入文件夹名称,然后从模态组件执行突变。如何更新文件资源管理器组件以便为新文件夹添加加载状态?只是在考虑使用 redux,但想知道最佳实践是什么?我正在使用 urql 客户端。
graphql - 激活ssr时withUrqlClient不起作用?
这是我的代码,我想我完全遵循 next-urql 指令,
所以事情就是这样,当我不设置 {ssr:true} 时它工作正常,但为了使用服务器端渲染,我必须激活它,之后,我的网站不会向我的网站发送任何请求服务器,所以它无法工作,我想知道这是为什么
graphql - 如何为 Urql 客户端设置授权标头?
我有一个 NextJS 应用程序,我在其中实现 Supabase 进行身份验证,并尝试用 Urql 去除 Apollo。
在我的urql.ts
文件中,我正在创建客户端:
我想弄清楚如何实际返回令牌?因为上下文没有通过,我无法从那里拉出来。Supabase 将令牌设置为 HttpOnly,所以我相信这也阻止了我在这里访问它。使用诸如 Js-Cookie 之类的库会返回未定义。
有没有办法将上下文传递给fetchOptions
,或者我应该尝试弄清楚如何在设置 cookie 时删除 HttpOnly?
reactjs - 为什么executeQuery没有被触发?
我在 React Native 中使用https://github.com/FormidableLabs/urql从 GraphQL 服务器获取数据。
这是组件声明:
如您所见,查询执行是手动触发executeQuery ({ requestPolicy: "network-only"})
的,它根据请求策略绕过缓存。
一开始,查询执行被暂停以避免自动执行:
在useEffect
挂钩中,executeQuery
根据debounce
设置,该函数应在 2 秒后执行。
但是,该调用executeQuery ({ requestPolicy: "network-only"})
根本不会触发对服务器的查询。
我究竟做错了什么?
HashtagList
组件:
graphql - GraphQL:POST 正文丢失、无效的 Content-Type 或 JSON 对象没有键
我正在尝试创建一个突变,但我不断收到一个 POST 正文丢失。我可以在调用 urql 和 codegen 钩子之前记录数据,并且我可以在错误的变量中看到数据,但是 chrome 不断出现“POST body missing”错误,并且服务器的解析器永远不会被命中。
我在 React 客户端上使用 Urql 和 Codegen,并在 Express API 上使用 Apollo-server。
这是我的代码:
突变定义(用于 codegen)
代码生成输出:
使用这个钩子失败,所以我尝试直接使用 urql: useMutation Hook (same error)
我已经确认我可以使用原始提取执行查询:
但是,尝试通过 codegen 或仅使用 urql 的 useMutation 钩子生成钩子会导致:
我有另一个非常简单的突变可以正常工作:
这是我的 typeDefs 和解析器:
类型定义
解析器
我对 GraphQL 很陌生,非常感谢提前帮助我了解我做错了什么。
sveltekit - 无法读取 null 的属性“executeQuery”
谁能帮我理解为什么我会收到这个错误:
我的设置:
新的 sveltekit 项目。graphql 的 ASP.net 核心后端。在我修改它以包含订阅之前,查询是有效的。
错误信息:
源代码 index.svelte:
感谢您的任何帮助。
amazon-web-services - 是否有与 Apollo 的 ReactNativeFile 等效的 URQL(来自 apollo-upload-client)?
我使用 URQL 作为我的 react native graphql 客户端。我喜欢使用该库,但似乎没有一种简单的方法可以将从 expo 图像选择器中选择的文件上传到我的节点服务器。
我做了一些谷歌搜索,找到了一个Ben Awad 视频,他使用 ReactNativeFile 将结果转换为文件。问题是这是似乎适合 apollo 客户的唯一方式。urql 有这样的东西吗?将 uri & base64 转换为 JS 文件的代码是什么样的?
图像选择 fn