12345678910111213141516171819202122232425262728293031323334353637383940414243444546 |
- var express = require('express');
- var STS = require('ali-oss').STS;
- var co = require('co');
- var fs = require('fs');
- var app = express();
-
- app.get('/', function (req, res) {
- var conf = JSON.parse(fs.readFileSync('./config.json'));
- var policy;
- if (conf.PolicyFile) {
- policy = fs.readFileSync(conf.PolicyFile).toString('utf-8');
- }
-
- var client = new STS({
- accessKeyId: conf.AccessKeyId,
- accessKeySecret: conf.AccessKeySecret,
- });
-
- co(function* () {
- var result = yield client.assumeRole(conf.RoleArn, policy, conf.TokenExpireTime);
- console.log(result);
-
- res.set('Access-Control-Allow-Origin', '*');
- res.set('Access-Control-Allow-METHOD', 'GET');
- res.json({
- StatusCode: 200,
- AccessKeyId: result.credentials.AccessKeyId,
- AccessKeySecret: result.credentials.AccessKeySecret,
- SecurityToken: result.credentials.SecurityToken,
- Expiration: result.credentials.Expiration
- });
- }).then(function () {
- // pass
- }).catch(function (err) {
- res.json({
- StatusCode: 500,
- ErrorCode: err.code,
- ErrorMessage: err.message
- });
- });
- });
-
- app.listen(9000, function () {
- console.log('App started.');
- });
|