Edit: /tmp/tsx-0/17887-ae4ff71657c68044441b80c05d0b4d3932504bca (9913B)
{"code":"__filename=\"/opt/canhelp/node_modules/better-auth/node_modules/@better-auth/core/dist/social-providers/cognito.mjs\";(()=>{\nvar __defProp=Object.defineProperty;var __getOwnPropDesc=Object.getOwnPropertyDescriptor;var __getOwnPropNames=Object.getOwnPropertyNames;var __hasOwnProp=Object.prototype.hasOwnProperty;var __name=(target,value)=>__defProp(target,\"name\",{value,configurable:true});var __export=(target,all)=>{for(var name in all)__defProp(target,name,{get:all[name],enumerable:true})};var __copyProps=(to,from,except,desc)=>{if(from&&typeof from===\"object\"||typeof from===\"function\"){for(let key of __getOwnPropNames(from))if(!__hasOwnProp.call(to,key)&&key!==except)__defProp(to,key,{get:()=>from[key],enumerable:!(desc=__getOwnPropDesc(from,key))||desc.enumerable})}return to};var __toCommonJS=mod=>__copyProps(__defProp({},\"__esModule\",{value:true}),mod);var cognito_exports={};__export(cognito_exports,{cognito:()=>cognito,getCognitoPublicKey:()=>getCognitoPublicKey});module.exports=__toCommonJS(cognito_exports);var import_logger=require(\"../env/logger.mjs\");var import_env=require(\"../env/index.mjs\");var import_error=require(\"../error/index.mjs\");var import_create_authorization_url=require(\"../oauth2/create-authorization-url.mjs\");var import_refresh_access_token=require(\"../oauth2/refresh-access-token.mjs\");var import_validate_authorization_code=require(\"../oauth2/validate-authorization-code.mjs\");var import_oauth2=require(\"../oauth2/index.mjs\");var import_fetch=require(\"@better-fetch/fetch\");var import_jose=require(\"jose\");const cognito=__name(options=>{if(!options.domain||!options.region||!options.userPoolId){import_logger.logger.error(\"Domain, region and userPoolId are required for Amazon Cognito. Make sure to provide them in the options.\");throw new import_error.BetterAuthError(\"DOMAIN_AND_REGION_REQUIRED\")}const cleanDomain=options.domain.replace(/^https?:\\/\\//,\"\");const authorizationEndpoint=`https://${cleanDomain}/oauth2/authorize`;const tokenEndpoint=`https://${cleanDomain}/oauth2/token`;const userInfoEndpoint=`https://${cleanDomain}/oauth2/userinfo`;return{id:\"cognito\",name:\"Cognito\",async createAuthorizationURL({state,scopes,codeVerifier,redirectURI}){if(!options.clientId){import_logger.logger.error(\"ClientId is required for Amazon Cognito. Make sure to provide them in the options.\");throw new import_error.BetterAuthError(\"CLIENT_ID_AND_SECRET_REQUIRED\")}if(options.requireClientSecret&&!options.clientSecret){import_logger.logger.error(\"Client Secret is required when requireClientSecret is true. Make sure to provide it in the options.\");throw new import_error.BetterAuthError(\"CLIENT_SECRET_REQUIRED\")}const _scopes=options.disableDefaultScope?[]:[\"openid\",\"profile\",\"email\"];if(options.scope)_scopes.push(...options.scope);if(scopes)_scopes.push(...scopes);const url=await(0,import_create_authorization_url.createAuthorizationURL)({id:\"cognito\",options:{...options},authorizationEndpoint,scopes:_scopes,state,codeVerifier,redirectURI,prompt:options.prompt});const scopeValue=url.searchParams.get(\"scope\");if(scopeValue){url.searchParams.delete(\"scope\");const encodedScope=encodeURIComponent(scopeValue);const urlString=url.toString();const separator=urlString.includes(\"?\")?\"&\":\"?\";return new URL(`${urlString}${separator}scope=${encodedScope}`)}return url},validateAuthorizationCode:__name(async({code,codeVerifier,redirectURI})=>{return(0,import_validate_authorization_code.validateAuthorizationCode)({code,codeVerifier,redirectURI,options,tokenEndpoint})},\"validateAuthorizationCode\"),refreshAccessToken:options.refreshAccessToken?options.refreshAccessToken:async refreshToken=>{return(0,import_refresh_access_token.refreshAccessToken)({refreshToken,options:{clientId:options.clientId,clientKey:options.clientKey,clientSecret:options.clientSecret},tokenEndpoint})},async verifyIdToken(token,nonce){if(options.disableIdTokenSignIn)return false;if(options.verifyIdToken)return options.verifyIdToken(token,nonce);try{const{kid,alg:jwtAlg}=(0,import_jose.decodeProtectedHeader)(token);if(!kid||!jwtAlg)return false;const publicKey=await getCognitoPublicKey(kid,options.region,options.userPoolId);const expectedIssuer=`https://cognito-idp.${options.region}.amazonaws.com/${options.userPoolId}`;const{payload:jwtClaims}=await(0,import_jose.jwtVerify)(token,publicKey,{algorithms:[jwtAlg],issuer:expectedIssuer,audience:options.clientId,maxTokenAge:\"1h\"});if(nonce&&jwtClaims.nonce!==nonce)return false;return true}catch(error){import_logger.logger.error(\"Failed to verify ID token:\",error);return false}},async getUserInfo(token){if(options.getUserInfo)return options.getUserInfo(token);if(token.idToken)try{const profile=(0,import_jose.decodeJwt)(token.idToken);if(!profile)return null;const name=profile.name||profile.given_name||profile.username||\"\";const enrichedProfile={...profile,name};const userMap=await options.mapProfileToUser?.(enrichedProfile);return{user:{id:profile.sub,name:enrichedProfile.name,email:profile.email,image:profile.picture,emailVerified:profile.email_verified,...userMap},data:enrichedProfile}}catch(error){import_logger.logger.error(\"Failed to decode ID token:\",error)}if(token.accessToken)try{const{data:userInfo}=await(0,import_fetch.betterFetch)(userInfoEndpoint,{headers:{Authorization:`Bearer ${token.accessToken}`}});if(userInfo){const userMap=await options.mapProfileToUser?.(userInfo);return{user:{id:userInfo.sub,name:userInfo.name||userInfo.given_name||userInfo.username||\"\",email:userInfo.email,image:userInfo.picture,emailVerified:userInfo.email_verified,...userMap},data:userInfo}}}catch(error){import_logger.logger.error(\"Failed to fetch user info from Cognito:\",error)}return null},options}},\"cognito\");const getCognitoPublicKey=__name(async(kid,region,userPoolId)=>{const COGNITO_JWKS_URI=`https://cognito-idp.${region}.amazonaws.com/${userPoolId}/.well-known/jwks.json`;try{const{data}=await(0,import_fetch.betterFetch)(COGNITO_JWKS_URI);if(!data?.keys)throw new import_error.APIError(\"BAD_REQUEST\",{message:\"Keys not found\"});const jwk=data.keys.find(key=>key.kid===kid);if(!jwk)throw new Error(`JWK with kid ${kid} not found`);return await(0,import_jose.importJWK)(jwk,jwk.alg)}catch(error){import_logger.logger.error(\"Failed to fetch Cognito public key:\",error);throw error}},\"getCognitoPublicKey\");0&&(module.exports={cognito,getCognitoPublicKey});\n})()\n","warnings":[],"map":{"version":3,"mappings":"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","names":[],"ignoreList":[],"sources":["/opt/canhelp/node_modules/better-auth/node_modules/@better-auth/core/dist/social-providers/cognito.mjs"],"sourcesContent":[null]}}