Graphql Nuxt appolo模块如何发送授权标头?
我尝试在apollo中使用nux.js。我必须发送一个授权头。在我的numxt.config.js文件中:Graphql Nuxt appolo模块如何发送授权标头?,graphql,nuxt.js,apollo,faunadb,Graphql,Nuxt.js,Apollo,Faunadb,我尝试在apollo中使用nux.js。我必须发送一个授权头。在我的numxt.config.js文件中: apollo: { clientConfigs: { default: { httpEndpoint: 'https://graphql.fauna.com/graphql', headers: { Authorization: 'Bearer xxxxxx' } } }
apollo: {
clientConfigs: {
default: {
httpEndpoint: 'https://graphql.fauna.com/graphql',
headers: {
Authorization: 'Bearer xxxxxx'
}
}
}
}
但我在尝试进行查询时出现以下错误:
“GraphQL错误:缺少授权标头”
如何发送标题?
最诚挚的问候我用了一个叫<代码>js cookie和 const-token=Cookies.get('tokenName')
我想它对我很有用我用了一个叫做<代码>js cookie和 const-token=Cookies.get('tokenName')
我认为这对我很有效如果您将令牌存储在cookie中,您可以使用tokenName属性指定令牌cookie的名称:
apollo: {
clientConfigs: {
default: {
httpEndpoint: 'https://graphql.fauna.com/graphql',
tokenName: 'NAME_OF_TOKEN_COOKIE'
}
}
}
它会自动将cookie中的值附加到apollo请求中的身份验证标头。如果您将令牌存储在cookie中,则可以使用tokenName属性指定令牌cookie的名称:
apollo: {
clientConfigs: {
default: {
httpEndpoint: 'https://graphql.fauna.com/graphql',
tokenName: 'NAME_OF_TOKEN_COOKIE'
}
}
}
它会自动将cookie中的值附加到apollo请求中的身份验证标头。在WebSocket设置中看到此错误(将
惰性和重新连接
设置为true),尽管可能相关
原因是注销后,header.authorization
设置为null,这是错误的,整个header应该设置为null:
// Return header if token set, else - null
const getHeaders = () => {
const token = store.getters[AuthS.extGetToken]
if (!token) return null
return { authorization: `Bearer ${token}` }
}
// Create a WebSocket link:
const link = new WebSocketLink({
uri: config.backendUrl,
options: {
reconnect: true,
lazy: true,
timeout: 30000,
connectionParams: () => {
return { headers: getHeaders() }
}
}
websockets设置中出现此错误(将lazy
和reconnect
设置为true),但可能与此相关
原因是注销后,header.authorization
设置为null,这是错误的,整个header应该设置为null:
// Return header if token set, else - null
const getHeaders = () => {
const token = store.getters[AuthS.extGetToken]
if (!token) return null
return { authorization: `Bearer ${token}` }
}
// Create a WebSocket link:
const link = new WebSocketLink({
uri: config.backendUrl,
options: {
reconnect: true,
lazy: true,
timeout: 30000,
connectionParams: () => {
return { headers: getHeaders() }
}
}