oak-external-sdk/lib/service/ali/sts.js

36 lines
1.3 KiB
JavaScript

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.stsAssumeRole = stsAssumeRole;
const tslib_1 = require("tslib");
const sts20150401_1 = tslib_1.__importStar(require("@alicloud/sts20150401"));
async function stsAssumeRole(options) {
const client = new sts20150401_1.default({
endpoint: options.endpoint,
accessKeyId: options.accessKeyId,
accessKeySecret: options.accessKeySecret,
toMap: () => {
return {};
}
});
const assumeRoleRequest = new sts20150401_1.AssumeRoleRequest({
roleArn: options.roleArn,
roleSessionName: options.roleSessionName,
policy: options.policy,
durationSeconds: options.durationSeconds,
});
const res = await client.assumeRole(assumeRoleRequest);
return {
"RequestId": res.body?.requestId,
"AssumedRoleUser": {
"AssumedRoleId": res.body?.assumedRoleUser?.assumedRoleId,
"Arn": res.body?.assumedRoleUser?.arn
},
"Credentials": {
"SecurityToken": res.body?.credentials?.securityToken,
"Expiration": res.body?.credentials?.expiration,
"AccessKeySecret": res.body?.credentials?.accessKeySecret,
"AccessKeyId": res.body?.credentials?.accessKeyId
},
};
}