mirror of
https://github.com/zhigang1992/aliyun-oss-react-native.git
synced 2026-01-12 22:45:48 +08:00
46 lines
1.2 KiB
JavaScript
Executable File
46 lines
1.2 KiB
JavaScript
Executable File
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.');
|
|
});
|