为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 Axios 授权私有路由

如何使用 Axios 授权私有路由

慕码人8056858 2022-05-22 10:38:04
我正在尝试使用我构建的 api 进行服务器端身份验证。我所有的路线都经过测试,似乎在邮递员上运行良好。我在前端使用 Axios,所有公共路由都运行良好。使用 Axios 登录也可以正常工作。问题在于私有路由。我习惯了谷歌的 api 进行前端身份验证,所以我似乎无法弄清楚如何授权私有路由。axios.jsaxios.defaults.headers.common['Authorization'] = token;axios.defaults.headers.post['Content-Type'] = 'application/json';const login = () => {  Axios({    url: '/auth/login',    baseURL: 'http://<ip address>/api/v1',    method: 'post',    data: {      email: '<email>',      password: '<password>'    }  }).then(res => sessionStorage.setItem('auth', res.data.token))    .catch(err => console.log(err))}所以上面的代码可以正常工作,但我可能会通过将令牌保存到浏览器中的会话存储而走错方向。下面的代码是私有 postArticle 路由。我在哪里收到以下消息,Failed to load resource: the server responded with a status of 401 (Unauthorized)。axios.jsconst postArticle = () => {  Axios({    url: '/articles',    baseURL: 'http://<ip address>/api/v1',    method: 'post',    data: {      "title": "New Title",      "subtitle": "Optional Subtitle",      "description": "Small Intro to Social Media Integration",      "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Donec et odio pellentesque diam volutpat commodo. Odio aenean sed adipiscing diam. Lacus viverra vitae congue eu consequat. Porttitor rhoncus dolor purus non enim praesent elementum. Aliquam purus...",      "tag": [        "Mobile Development",        "Diary"      ]    }  }).then(res => console.log(res.data))    .catch(err => console.log(err))}当我 console.log 标记它出来时,它是正确的,但我不确定我需要如何更改 postArticle 以接收默认标题。
查看完整描述

1 回答

?
至尊宝的传说

TA贡献1789条经验 获得超10个赞

弄清楚了。登录已正确完成。只需要将默认值带入 postArticle 的标题。


const postArticle = () => {

  Axios({

    headers: {

      'Authorization': Axios.defaults.headers.common['Authorization'],

      'Accept': 'application/json',

      'Content-Type': 'application/json'

    },

    url: '/articles',

    baseURL: 'http://67.207.83.201/api/v1',

    method: 'post',

    data: {

      "title": "Another New Title",

      "subtitle": "Optional Subtitle",

      "description": "Small Intro for Play Play Play",

      "content": "Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Donec et odio pellentesque diam volutpat commodo. Odio aenean sed adipiscing diam. Lacus viverra vitae congue eu consequat. Porttitor rhoncus dolor purus non enim praesent elementum. Aliquam purus sit amet luctus venenatis. Mauris ultrices eros in cursus turpis. Accumsan tortor posuere ac ut consequat semper. Vestibulum lorem sed risus ultricies tristique nulla aliquet enim tortor. Facilisi nullam vehicula ipsum a arcu. Non tellus orci ac auctor augue mauris. Aliquam malesuada bibendum arcu vitae elementum curabitur vitae nunc. Ac ut consequat semper viverra nam libero justo. Ut aliquam purus sit amet luctus. Fermentum dui faucibus in ornare quam viverra orci sagittis eu. Tortor consequat id porta nibh.",

      "tag": [

        "Mobile Development",

        "Diary"

      ]

    }

  }).then(res => console.log(res.data))

    .catch(err => console.log(err))

}


查看完整回答
反对 回复 2022-05-22
  • 1 回答
  • 0 关注
  • 94 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信