Graphql Nuxt appolo模块如何发送授权标头?

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中使用nux.js。我必须发送一个授权头。在我的numxt.config.js文件中:

    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() }
    }
}