const {Service} = require('@volcengine/openapi');
const axios= require("axios");
class StsService extends Service {
defaultVersion: "2018-01-01",
const stsService = new StsService()
stsService.setAccessKeyId('<YOUR_ACCESS_KEY_ID>');
stsService.setSecretKey('<YOUR_SECRET_KEY>')
stsService.setHost('volcengineapi.byted.org')
const assumeRole = stsService.createAPI('AssumeRole', {
const token = await assumeRole({
RoleTrn: 'trn:iam::${accountId}:role/${角色名}',
RoleSessionName: 'embedrtcconsole'
const { AccessKeyId, SecretAccessKey, SessionToken } = token.Result.Credentials;
const signinResp = await axios.post('https://console.volc-embed.com/api/passport/login/getSigninTokenWithSTS', {
"accessKeyId": AccessKeyId,
"secretAccessKey": SecretAccessKey,
"sessionToken": SessionToken
const signinToken = signinResp.data.Result.SigninToken;
const url = `https://console.volc-embed.com/api/passport/login/loginWithSigninToken?signinToken=${signinToken}&redirectURI=${encodeURIComponent('https://console.volc-embed.com/rtc/callQualityRTC')}`
const diagnosisUrl = `https://console.volc-embed.com/rtc/callQualityRTC/diagnosis`