Nuxt Apollo 模块请求授权标头,带有双 'Bearer'

Posted

技术标签:

【中文标题】Nuxt Apollo 模块请求授权标头,带有双 \'Bearer\'【英文标题】:Nuxt Apollo module request authorization header with double 'Bearer 'Nuxt Apollo 模块请求授权标头,带有双 'Bearer' 【发布时间】:2020-07-31 07:01:43 【问题描述】:

在我的 Nuxt 应用程序中,我将身份验证令牌存储在名为“auth._token.auth0”的 cookie 中。它看起来像:

Bearer%20eyJhbGciO...

我想在我的 apollo 请求授权标头中使用这个令牌,所以我配置了我的 apollo 模块:

apollo: 
    clientConfigs: 
        default: 
            httpEndpoint: process.env.GRAPHQL_ENDPOINT,
            httpLinkOptions: 
                credentials: 'same-origin'
            ,
            tokenName: 'auth._token.auth0'
        
    
,

它成功地将 cookie 中的令牌附加到 apollo 授权标头,但它添加了另一个 'Bearer' 字符串,因此 graphql 返回 Malformed Authorization 标头错误,因为授权标头看起来像:

authorization: Bearer Bearer eyJhbGciOi...

任何想法如何在 nuxt apollo 模块或 nuxt auth 模块中解决这个问题?

【问题讨论】:

【参考方案1】:

我通过在配置中添加authenticationType: '' 来修复它:

apollo: 
    clientConfigs: 
        default: 
            httpEndpoint: process.env.GRAPHQL_ENDPOINT,
            httpLinkOptions: 
                credentials: 'same-origin'
            ,
            tokenName: 'auth._token.auth0'
        
    ,
    authenticationType: ''
,

【讨论】:

以上是关于Nuxt Apollo 模块请求授权标头,带有双 'Bearer'的主要内容,如果未能解决你的问题,请参考以下文章

Nuxt / Apollo - 设置授权标头

防止 nuxt auth 将授权标头发送到外部 url

如何调试 nuxt-apollo 服务器端 graphql 请求

如何使用 apollo graphql 处理授权标头?

如何使用 Express 和 Apollo-Server 获取 HTTP 授权标头

如何在 React 组件中向 Apollo 客户端添加新的授权标头?