我试图在URQL令牌中发送令牌,但是文档中没有方法或描述。我使用localStorage方法将令牌存储在我的localStorage.set()中。有人知道如何在查询或头中发送令牌吗?
我试着使用标头和无记名选项发送auth,但没有成功。
发布于 2022-03-21 19:12:38
令牌通常通过Authorization请求头传输,格式由GraphQL后端(通常为Authorization: Bearer <token>格式)识别/预期。您可以通过fetchOptions选项在客户端创建/安装过程中执行此操作(因为在对后端进行调用时,这确实会在内部传递以获取)。
假设您的令牌可用并存储在localStorage.set("myToken", token)下,那么您将按照以下方式设置您的客户端:
const client = createClient({
url: 'http://localhost:3000/graphql', // <- your back-end URL
fetchOptions: () => {
const token = localStorage.get("myToken");
return {
headers: { authorization: token ? `Bearer ${token}` : '' },
};
},
});另一种更高级的选择是使用认证交换作为您可以在URQL设置中使用的交换链的一部分(以及缓存、去达达等)。我自己还没有做过实验,但它看上去相当简单,尽管有点复杂。
https://stackoverflow.com/questions/71561985
复制相似问题