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


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

  • 2019-08-14 14:29:12

    浅谈nodejs和php

    现在,Web开发公司和开发人员可以选择多种技术栈来构建Web应用程序。早期网络发展,不同的技术被用于前端和后端开发。但是,随着Node.js的发布,布局发生了变化,因为它允许开发人员使用 JavaScript 编写后端代码。这最终催生了MEAN(MongoDB + Express +AngularJS + NodeJS )堆栈 web 开发框架,从前端到后端甚至是数据库(MongoDB -JSON)都使用 JavaScript。在 Node.js 之前,Web 开发通常是在 PHP 的帮助下完成的,因为它很容易与 HTML 集成,帮助开发人员立即构建动态网站。在这篇文章中,我们将比较 Node.js 和 PHP,看哪一个最适合当前的行业需求。

  • 2019-08-15 13:32:18

    Node.js是如何解决服务器高性能瓶颈问题的

    在Java、PHP或者.net等服务器端语言中,会为每一个客户端连接创建一个新的线程。而每个线程需要耗费大约2MB内存。也就是说,理论上,一个8GB内存的服务器可以同时连接的最大用户数为4000个左右。要让Web应用程序支持更多的用户,就需要增加服务器的数量,而Web应用程序的硬件成本当然就上升了。

  • 2019-08-15 13:33:53

    nodejs的10个性能优化技巧

    在我接触JavaScript(无论浏览器还是NodeJS)的时间里,总是遇到有朋友有多线程的需求。而在NodeJS方面,有朋友甚至直接说到,NodeJS是单线程的,无法很好的利用多核CPU。那么我们在使用过程中,就要非常注意性能优化了

  • 2019-08-16 13:18:48

    使用ffmpeg进行ts切片并AES-128加密

    由于解密的key文件都是公开的,所以并不能算上完全加密,用户只要把你的key+m3u8里的ts切片文件全部下载,用ffmpeg还是能解,这时就要考虑url的key防止用户直接下载和盗链。 ​

  • 2019-08-18 22:22:54

    Error:error: unable to remove file: Permission denied

    JNI里写的C++增加了函数或修改了,如果此时是Debug模式下,而且还没退出程序,就出现这个Permission denied的提示。解决也很简单:就是退出App即可。如果退出无响应,直接拔usb,重新插上也可以

  • 2019-08-19 10:24:29

    浅析Express中的路由与应用模式

    Express是一个基于Node.js的轻量级web开发框架,具有体积小,使用灵活等特点。查看Express的源码,如果不计供使用的中间件,主体框架只有一千余行代码,非常简练。

  • 2019-08-19 15:50:17

    记录PHP的进程和线程理解

    线程是进程的一个执行流,线程不能分配系统资源,它是进程的一部分,比进程更小的独立运行的单位。 解释一下:进程有两个特性:一是资源的所有权,一个是调度执行(指令集),线程是调度执行中的一部分,是指进程执行过程的路径,也叫程序执行流。线程有时候也叫轻量级进程。

  • 2019-08-20 08:51:52

    一台Linux服务器可以负载多少个连接?

    我们在压测一台目标服务器,想看下负载的连接数,当我们压到一定数量的时候,控制台突然报"too many open files",这是因为linux系统创建一个TCP连接的时候,都会创建一个socket句柄,每个socket句柄就是一个文件句柄。