export const fromWebToken = (init) => async () => { init.logger?.debug("@aws-sdk/credential-provider-web-identity", "fromWebToken"); const { roleArn, roleSessionName, webIdentityToken, providerId, policyArns, policy, durationSeconds } = init; let { roleAssumerWithWebIdentity } = init; if (!roleAssumerWithWebIdentity) { const { getDefaultRoleAssumerWithWebIdentity } = await import("@aws-sdk/client-sts"); roleAssumerWithWebIdentity = getDefaultRoleAssumerWithWebIdentity({ ...init.clientConfig, credentialProviderLogger: init.logger, parentClientConfig: init.parentClientConfig, }, init.clientPlugins); } return roleAssumerWithWebIdentity({ RoleArn: roleArn, RoleSessionName: roleSessionName ?? `aws-sdk-js-session-${Date.now()}`, WebIdentityToken: webIdentityToken, ProviderId: providerId, PolicyArns: policyArns, Policy: policy, DurationSeconds: durationSeconds, }); };