阿里云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'
          });
        }
      },


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

  • 2017-07-17 14:48:20

    通过node.js保存emoji到mysql

    但是emoji通过utf-8编码后,每个字符占4个字节,属于宽字符。而老版本的mysql只支持一个字符占3个字节,所以老版本的mysql是无法存储emoji的。新版本的mysql增加了字符集utf8mb4,可以支持单字符最多占4个字节。utf8mb4是utf8的超集,可以无需修改地支持原来的utf8字符 要让mysql存储emoji,需要满足2个条件:

  • 2017-07-17 17:05:03

    大白话讲解Promise(一)

    去年6月份, ES2015正式发布(也就是ES6,ES6是它的乳名),其中Promise被列为正式规范。作为ES6中最重要的特性之一,我们有必要掌握并理解透彻。本文将由浅到深,讲解Promise的基本概念与使用方法。

  • 2017-07-19 07:54:11

    Javascript中delete运算符

    Delete是Javascript语言中使用频率较低的操作之一,但是有些时候,当我们需要做delete或者清空动作时,就需要delete操作。在这篇文章中,我们将深入探讨如何使用它,以及它是如何工作的。

  • 2017-07-26 11:57:00

    Laravel 定时任务

    在 php 中使用定时器是一件不太简单的事情,之前大概只能通过 cron 来实现定时任务。但是在 Laravel5 中,定时任务将会变得很简单。

  • 2017-08-03 21:16:46

    Node.js 里面那些遗失的 ES6 特性

    其实 Node.js 对 ES6 的很多特性都已经开始支持了。 在 Node.js 使用的 JS 引擎 V8 里面将不同状态 ES6 特性分成了 3 个等级: