首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >NuxtJ登录工作,但未经授权401

NuxtJ登录工作,但未经授权401
EN

Stack Overflow用户
提问于 2020-05-19 16:35:30
回答 1查看 2.3K关注 0票数 3

我正在使用NuxtJs auth模来处理我在该州的授权。我为auth编写了一个能工作的快速api。

我的nuxt.config.js中有以下配置:

代码语言:javascript
复制
  axios: {
    baseURL: 'http://localhost:4000/api'
  },

  auth: {
    strategies: {
      local: {
        endpoints: {
          login: { url: '/users/login', method: 'post', propertyName: 'data.token' },
          user: { url: '/users/me', method: 'get', propertyName: 'data' },
        },
      }
    }
  },

在我的登录组件中,我像这样调用登录路由:

代码语言:javascript
复制
const { data } = await this.$auth.loginWith('local', {
  data: this.login
})

此调用成功地调用了/api/users/login路由(200),并在此之后调用/api/users/me时出错如下:

xhr.js:178 GET http://localhost:4000/api/users/me 401 (Unauthorized)

在postman中,我调用api路由,它像这样返回用户*

代码语言:javascript
复制
> Get - localhost:4000/api/users/me
> 
> Authorization:
> 
> Type: Bearer Token Token: xxxx

返回用户数据。

我读到nuxt模块默认类型为“Bearer”,但在我的例子中,它不起作用。

用户登录工作,但返回用户数据的第二条路由由于授权而无法工作。Api不在nuxtjs中,它是一个用Express编写的不同的项目。

EN

回答 1

Stack Overflow用户

发布于 2020-11-30 01:27:41

你可以试试这个:

代码语言:javascript
复制
axios: {
baseURL: 'http://localhost:4000/api' },
auth: {
strategies: {
  local: {
    endpoints: {
      login: { url: '/users/login', method: 'post', propertyName: 'data.token' },
      user: { url: '/users/me', method: 'get', propertyName: 'data' },
    },
    tokenType: ''
  }
}

},

将tokenType设置为空字符串将覆盖默认的"Bearer“。一些服务器配置可能会抛出401。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61896211

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档