@ew-did-registry/did-s3-store
Version:
S3-based implementation of IDidStore
1 lines • 1.35 kB
JavaScript
;exports.id=624,exports.ids=[624],exports.modules={4624:(e,n,o)=>{o.r(n),o.d(n,{fromTokenFile:()=>d,fromWebToken:()=>s});var i=o(8455),r=o(3631),t=o(9896);const s=e=>async n=>{e.logger?.debug("@aws-sdk/credential-provider-web-identity - fromWebToken");const{roleArn:i,roleSessionName:r,webIdentityToken:t,providerId:s,policyArns:l,policy:d,durationSeconds:c}=e;let{roleAssumerWithWebIdentity:a}=e;if(!a){const{getDefaultRoleAssumerWithWebIdentity:i}=await o.e(547).then(o.bind(o,4547));a=i({...e.clientConfig,credentialProviderLogger:e.logger,parentClientConfig:{...n?.callerClientConfig,...e.parentClientConfig}},e.clientPlugins)}return a({RoleArn:i,RoleSessionName:r??`aws-sdk-js-session-${Date.now()}`,WebIdentityToken:t,ProviderId:s,PolicyArns:l,Policy:d,DurationSeconds:c})},l="AWS_WEB_IDENTITY_TOKEN_FILE",d=(e={})=>async()=>{e.logger?.debug("@aws-sdk/credential-provider-web-identity - fromTokenFile");const n=e?.webIdentityTokenFile??process.env[l],o=e?.roleArn??process.env.AWS_ROLE_ARN,d=e?.roleSessionName??process.env.AWS_ROLE_SESSION_NAME;if(!n||!o)throw new r.C1("Web identity configuration not specified",{logger:e.logger});const c=await s({...e,webIdentityToken:(0,t.readFileSync)(n,{encoding:"ascii"}),roleArn:o,roleSessionName:d})();return n===process.env[l]&&(0,i.g)(c,"CREDENTIALS_ENV_VARS_STS_WEB_ID_TOKEN","h"),c}}};