小编Sy3*_*y3d的帖子

如何在axios中配置授权承载令牌?

您好,我创建了一个登录操作(使用 Vuex),它将用户 jwt 令牌保存到本地存储。在此登录操作中,我调用另一个操作来获取该用户创建的一些帖子。当我在 fetchPosts 操作的获取请求标头中传递令牌时,它工作得完全正常。

async login(context, user){
    try {
       const res = await api.post('/users/login', user)
       localStorage.setItem('jwt', res.data.token)
       context.commit('SET_USER', res.data.user)
       context.dispatch('fetchPosts')
    }catch(err){
       console.log(err.response.data)
    }
}

async fetchPosts(context){
    try {
        const res = await api.get('/posts', {
          headers: {
            Authorization: `Bearer ${localStorage.getItem('jwt')}`
          }
        })
        context.commit('SET_POSTS', res.data)
     }catch(err){
        console.log(err.response.data)
     }
}
Run Code Online (Sandbox Code Playgroud)

上面的代码工作得很好,但问题是我有几个身份验证路线,我不想通过

headers: { Authorization: `Bearer ${localStorage.getItem('jwt')}`}
Run Code Online (Sandbox Code Playgroud)

对于所有 api 请求。

我想在 1 个文件中进行配置,我尝试过,但是当我登录时,我收到未经身份验证的消息,当我检查网络选项卡时,我看到 Bearer null 传递到授权中。请参阅下面我的配置尝试。

import axios from 'axios'
export default axios.create({
  baseURL: 'http://localhost:3000',
  headers: {
    Authorization: `Bearer ${localStorage.getItem('jwt')}`
  }
}) …
Run Code Online (Sandbox Code Playgroud)

javascript jwt vue.js axios vuex

7
推荐指数
1
解决办法
2万
查看次数

如何更新 aws IAM 权限以允许更新存储桶策略

我创建了一个 aws s3 存储桶,我想在其中存储图像。我创建了一个获取预签名 url 的快速 API 路由。通过我的 Vue 应用程序,我使用预先签名的 url 将图像发布到 s3 存储桶。图像被很好地上传到存储桶中。

我现在想通过生成的 url 查看 s3 存储桶中的图像,但我收到 XML 格式的 AccessDenied。要解决此问题,我需要更新存储桶策略,但我无法执行此操作,因为当我尝试时,我得到:

You don't have permissions to edit bucket policy
After you or your AWS administrator have updated your permissions to allow the s3:PutBucketPolicy action, choose Save changes.
Learn more about Identity and access management in Amazon S3
Run Code Online (Sandbox Code Playgroud)

我对 aws 相当陌生,如何更新当前策略以添加s3:PutBucketPolicy。我找不到添加该政策的选项。

amazon-s3 amazon-web-services

1
推荐指数
1
解决办法
2333
查看次数

标签 统计

amazon-s3 ×1

amazon-web-services ×1

axios ×1

javascript ×1

jwt ×1

vue.js ×1

vuex ×1