Edit: /tmp/tsx-0/17887-9fd167b05314fc2a786d1d266e128f15805d59f6 (8468B)
{"code":"__filename=\"/opt/canhelp/node_modules/better-auth/node_modules/@better-auth/core/dist/social-providers/microsoft-entra-id.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 microsoft_entra_id_exports={};__export(microsoft_entra_id_exports,{getMicrosoftPublicKey:()=>getMicrosoftPublicKey,microsoft:()=>microsoft});module.exports=__toCommonJS(microsoft_entra_id_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_base64=require(\"@better-auth/utils/base64\");var import_fetch=require(\"@better-fetch/fetch\");var import_jose=require(\"jose\");const microsoft=__name(options=>{const tenant=options.tenantId||\"common\";const authority=options.authority||\"https://login.microsoftonline.com\";const authorizationEndpoint=`${authority}/${tenant}/oauth2/v2.0/authorize`;const tokenEndpoint=`${authority}/${tenant}/oauth2/v2.0/token`;return{id:\"microsoft\",name:\"Microsoft EntraID\",createAuthorizationURL(data){const scopes=options.disableDefaultScope?[]:[\"openid\",\"profile\",\"email\",\"User.Read\",\"offline_access\"];if(options.scope)scopes.push(...options.scope);if(data.scopes)scopes.push(...data.scopes);return(0,import_create_authorization_url.createAuthorizationURL)({id:\"microsoft\",options,authorizationEndpoint,state:data.state,codeVerifier:data.codeVerifier,scopes,redirectURI:data.redirectURI,prompt:options.prompt,loginHint:data.loginHint})},validateAuthorizationCode({code,codeVerifier,redirectURI}){return(0,import_validate_authorization_code.validateAuthorizationCode)({code,codeVerifier,redirectURI,options,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 getMicrosoftPublicKey(kid,tenant,authority);const verifyOptions={algorithms:[jwtAlg],audience:options.clientId,maxTokenAge:\"1h\"};if(tenant!==\"common\"&&tenant!==\"organizations\"&&tenant!==\"consumers\")verifyOptions.issuer=`${authority}/${tenant}/v2.0`;const{payload:jwtClaims}=await(0,import_jose.jwtVerify)(token,publicKey,verifyOptions);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)return null;const user=(0,import_jose.decodeJwt)(token.idToken);const profilePhotoSize=options.profilePhotoSize||48;await(0,import_fetch.betterFetch)(`https://graph.microsoft.com/v1.0/me/photos/${profilePhotoSize}x${profilePhotoSize}/$value`,{headers:{Authorization:`Bearer ${token.accessToken}`},async onResponse(context){if(options.disableProfilePhoto||!context.response.ok)return;try{const pictureBuffer=await context.response.clone().arrayBuffer();user.picture=`data:image/jpeg;base64, ${import_base64.base64.encode(pictureBuffer)}`}catch(e){import_logger.logger.error(e&&typeof e===\"object\"&&\"name\"in e?e.name:\"\",e)}}});const userMap=await options.mapProfileToUser?.(user);const emailVerified=user.email_verified!==void 0?user.email_verified:user.email&&(user.verified_primary_email?.includes(user.email)||user.verified_secondary_email?.includes(user.email))?true:false;return{user:{id:user.sub,name:user.name,email:user.email,image:user.picture,emailVerified,...userMap},data:user}},refreshAccessToken:options.refreshAccessToken?options.refreshAccessToken:async refreshToken=>{const scopes=options.disableDefaultScope?[]:[\"openid\",\"profile\",\"email\",\"User.Read\",\"offline_access\"];if(options.scope)scopes.push(...options.scope);return(0,import_refresh_access_token.refreshAccessToken)({refreshToken,options:{clientId:options.clientId,clientSecret:options.clientSecret},extraParams:{scope:scopes.join(\" \")},tokenEndpoint})},options}},\"microsoft\");const getMicrosoftPublicKey=__name(async(kid,tenant,authority)=>{const{data}=await(0,import_fetch.betterFetch)(`${authority}/${tenant}/discovery/v2.0/keys`);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)},\"getMicrosoftPublicKey\");0&&(module.exports={getMicrosoftPublicKey,microsoft});\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/microsoft-entra-id.mjs"],"sourcesContent":[null]}}