阿里云oss上传图片stsToken获得教程

2020-04-30 16:53:22

阿里云这个权限系统,真的很难用啊。。。。

阿里云oss stsToken配置


  1. 打开地址  https://ram.console.aliyun.com/roles

  2. 创建用户来获取 accessKeyId accessKeySecret

  3. RAM角色管理,创建RAM角色,记得创建的时候选择阿里云

  4. 给角色添加权限,根据自己需求,可以添加无数个,最重要的是添加AliyunSTSAssumeRoleAccess,可以搜索添加。



nodejs后台接口代码如下

app.all('/aliTokenXiaolingyi',async (req, res) => {

  /**参考地址
  * https://help.aliyun.com/document_detail/32077.html?spm=a2c4g.11186623.2.7.2ab259d4e6YINH#section-zkq-3rq-dhb*/
  let STS = OSS.STS;
  let sts = new STS({
    accessKeyId: 'LTAI4G***jy',
    accessKeySecret: 'lr36B****12998fn88h'
  });
  
//RAM 配置
  /**
   * https://helpcdn.aliyun.com/knowledge_detail/58905.html
   */
  let token = await sts.assumeRole(
    'acs:ram::1541182****0825:role/demo-2-role', null, '3600', 'demo-bucket');
  return res.status(200).json(token)
})


前端接口解析如下

   async  getXiaolingyi2(){
        const   token = await this.$axiosGet("/api/aliToken")
        if(token){
          this.client = new OSS({
            region: 'oss-cn-beijing',
            //云账号AccessKey有所有API访问权限,建议遵循阿里云安全最佳实践,创建并使用STS方式来进行API访问
            /*搜索RAM进行添加用户就能看到下面的了*/
            accessKeyId: token.credentials.AccessKeyId,
            accessKeySecret: token.credentials.AccessKeySecret,
            stsToken: token.credentials.SecurityToken,
            bucket: 'demo-bucket'
          });
        }
      },


真的不想再用阿里云的服务文档啦。。

  • 2020-01-07 10:06:00

    vue重定向beforeRouterEnter与replace的使用

    一个登录页面,只有第一次才会出现,一旦出现过,以后再也不会出现,即使是输入该页面的url也不会跳转到该页面,只会跳转到指定的其他页面;

  • 2020-01-07 10:14:07

    vue强制刷新组件 销毁和重建

    很多时候,通过重置数据将页面重置时,子组件可以提供重置的方法,或者提供props重置自己的状态。但是相对麻烦,那可以使用强制刷新来实现刷新组件。

  • 2020-01-07 10:17:42

    vue钩子函数beforeRouteUpdate没有反应

    由于会渲染同样的 Foo 组件,因此组件实例会被复用。而这个钩子就会在这个情况下被调用。 可以访问组件实例 `this`

  • 2020-01-08 13:23:24

    vue 中使用eventbus

    为了提高组件的独立性和重用性,父组件会通过props向下传数据给子组件,当子组件又事情要告诉父组件时用通过$emit事件告诉父组件,如此确保每个组件都是独立在相对隔离的环境中运行,可以大幅度提高组件的可维护性

  • 2020-01-08 13:30:30

    vue中eventbus被多次触发(vue中使用eventbus踩过的坑)

    一开始的需求是这样子的,我为了实现两个页面组件之间的数据传递,假设我有页面A,点击页面A上的某一个按钮之后,页面会自动跳转到页面B,同时我希望将页面A上的某一些参数携带过去给页面B。 然后我就想,这不就是不同组件之间的数据传递问题而已吗?直接用bus 巴士事件来传递数据不就行了吗。于是,我就很愉快地进行了。关于vue中的eventbus的使用,我之前在一篇vue中的数据传递中有提到过。

  • 2020-01-08 22:03:07

    修改MAC系统下默认PHP版本

    今天在使用mac时遇到了一个问题,因为需要composer拉取laravel5.6,但是提示我php版本过低,但是我本人使用的是集成环境MAMP,已经切换了php7.2的版本,这个为什么没有生效呢?经检查是因为composer检测得是mac下环境变量生效的php版本