阿里云视频点播获取sts临时身份令牌

参考文档:

https://help.aliyun.com/document_detail/57114.htm?spm=a2c4g.11186623.2.8.789552f3X7WYAv#multiTask7745

首先,登录控制台,开通视频点播服务。

一:创建子账号并授权AliyunSTSAssumeRoleAccess

使用阿里云主账号登录阿里云控制台,选择 访问控制 如图:

点击用户,创建用户 如图:

子用户创建成功之后,选择创建的子用户,给子用户赋予AliyunSTSAssumeRoleAccess权限。

搜索sts,选择AliyunSTSAssumeRoleAccess

点击用户登录名称 如图:

点击 创建AccessKey

 

将该子用户的AccessKey ID 和 AccessKey Secret保存好,备用。

参考文档:https://help.aliyun.com/document_detail/175967.html

 二:创建RAM角色并授权sts

找到添加的角色名称,添加权限。

搜索vod,添加AliyunVODFullAccess权限

在角色名称列表找到刚刚添加的角色,点击进入详情页面:

找到ARN 复制后面的值备用。

三:生成令牌和过期时间

参考文档:

https://help.aliyun.com/document_detail/121136.html?spm=a2c4g.11186623.6.904.eeba614dirJ406

代码调试可以通过openAPI进行【选择对应的开发语言就行编辑】

注意,因为主账号无法调用openAPI,所以,想要通过openAPI测试代码有效性,需要登录上面创建的子账号,然后进入openAPI界面调试。

https://next.api.aliyun.com/api/Sts/2015-04-01/AssumeRole?spm=a2c4g.11186623.2.11.13c1614dSm2GG2¶ms={}

以nodejs为例

先在本地创建一个node项目文件夹

(使用npm init命令来创建)

创建文件为index.js

参考文件:https://www.jianshu.com/p/dc83181ff598

src文件中就存在了index.js文件

使用npm  install  express 安装express框架

这时,项目中的package.json文件中已经存在了相关的依赖包

 然后,我们通过express官网的示例代码,集成到自己本地的项目中。

参考网站:https://www.npmjs.com/package/express

将express的示例代码拷贝进index.js文件中。

创建sts.js文件,将阿里云访问控制中的nodejs示例代码放入sts.js文件中并加以修改:

sts.js文件如图:

const Core = require('@alicloud/pop-core');

const client = new Core({

    accessKeyId: '<accessKeyId>',

    accessKeySecret: '<accessKeySecret>',

    endpoint: 'https://sts.cn-shanghai.aliyuncs.com',

    apiVersion: '2015-04-01'

});

const params = {

    "RoleArn": "<arn>",

    "RoleSessionName": "<rolename>"
}

const requestOption = {

    method: 'POST'
};

const request = function (callback) {

    client.request('AssumeRole', params, requestOption).then((result) => {

        // console.log(JSON.stringify(result));

        // console.log("succ");

        callback(result)

    }, (ex) => {

         // console.log("fail");

        callback(ex)

    })

}

module.exports = request

其中,accessKeyId 就是之前子用户创建access Key时 保留下来的AccessKey.csv文件中的参数,填写到对应位置即可。

endpoint 中的cn-shanghai需要注意核对一下跟视频点播的存储管理中的区域是否一致。

RoleArn 就是之前创建角色后 点击角色名称在详情里看到的ARN;

RoleSessionName 就是角色名称。

Index.js文件代码做下调整

目的:将sts.js文件引入index.js中并调用,并将sts.js的结果返回:

const express = require('express')

const app = express()

const request=require('./sts')

//console.log(request)

app.get('/sts', function (req, res) {

    request(function (result) {

        res.send(result)

    })

})

app.listen(81)

//console.log("sts启动:81")

使用node命令启动index.js文件,命令窗口就会打印出对应的结果。

因为程序访问的是81端口,所以要保证服务器上的81端口是打开状态。

然后,我们在浏览器中访问 域名:81/sts 服务就会把对应的参数以json格式返回了。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值