36 lines
1.3 KiB
JavaScript
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
|
|
},
|
|
};
|
|
}
|