阿里云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-11-22 23:00:16

    androidx中的lifecycle组件

    Lifecycle-aware components生命周期感知组件执行操作,以响应另一个组件生命周期状态的更改,例如Activity和Fragment。这些组件可以帮助您生成更有组织、更容易维护的轻量级代码。

  • 2020-11-22 23:02:50

    Android数据存储之DataBase的Room

    Room是Google在AndroidX中提供的一个ORM(Object Relational Mapping,对象关系映射)库。它是在SQLite上提供的一个抽象层,可以使用SQLite的全部功能,同时可以更好更便捷流畅地访问数据库。(关于AndroidX可以参考

  • 2020-11-22 23:04:39

    Android组件 LiveData与MutableLiveData教程

    LiveData与ViewMode是经常搭配在一起使用的,但是为了不太混乱,我还是拆分开来说明,此篇博客只讲解 LiveData 与 MutableLiveData的概念与使用方式(但是会涉及到ViewMode的部分代码).

  • 2020-11-22 23:14:52

    Dagger 2 在 Android 上的用法

    在前面的文章我们介绍了Dagger2 中的大部分注解的使用,接下来我们从源码角度分析下第一篇文章中例子的原理。

  • 2020-11-22 23:18:59

    Android开发从Dagger2迁移至Kodein的感受

    最近个人在尝试构建 Kotlin版本 的Android MVVM开发框架,在依赖注入框架的选型上,我最终选择了 Kodein 。这是一个非常轻量级的DI框架,相比于配置繁琐的Dagger(繁琐的配置也是导致Dagger学习成本一直居高不下的原因!),它的配置过程更清晰且简单,并且,这个库的源码也是 Kotlin 的。

  • 2020-11-22 23:25:56

    Dagger2源码解析inject过程

    添加inject后,通过编译生成的DaggerMainComponent类来导入,说明编译以后生成了一些类,那到底生成了什么类呢。 Module和Component又是什么,该怎么里理解 在这篇文章后里将一一讨论。

  • 2020-11-22 23:27:28

    dagger学习教程

    dagger android 学习(一):dagger基础使用 dagger android 学习(二):AndroidInjector的使用 dagger android 学习(三):ContributesAndroidInjector的进一步优化 dagger android 学习(四):基于dagger2的mvp架构

  • 2020-11-22 23:31:22

    Dagger2与AndroidInjector详解

    相信使用过Dagger开发Android应用的小伙伴会知道(如果你还不是很了解Daager,可以先看我之前的一篇基本介绍:Dagger2使用攻略),我们会在Activity或Fragment的生命周期方法中执行成员注入。比如这样:

  • 2020-11-23 08:52:59

    asm.js 和 Emscripten 入门教程

    asm.js 就是为了解决这两个问题而设计的:它的变量一律都是静态类型,并且取消垃圾回收机制。除了这两点,它与 JavaScript 并无差异,也就是说,asm.js 是 JavaScript 的一个严格的子集,只能使用后者的一部分语法。

  • 2020-11-23 09:11:07

    爬虫——记一次破解前端加密详细过程

    从最初使用webdriver+selenium爬虫到现在利用http请求解析html,经历过各种各样的问题,webdriver+selenium这种办法虽然万能,而且可以用JS写解析脚本方便调试,