@@ -4,17 +4,25 @@ import {
44 CognitoUserPool ,
55 CognitoUserSession ,
66} from 'amazon-cognito-identity-js'
7+ import { config } from '../config'
78
89const SESSION_STORAGE_KEY = 'notebooklm.directAuth.session'
910
1011// floci não valida o conteúdo do código de confirmação — qualquer valor confirma o usuário
1112const DUMMY_CONFIRMATION_CODE = '000000'
1213
13- const userPool = new CognitoUserPool ( {
14- UserPoolId : import . meta. env . VITE_COGNITO_USER_POOL_ID ,
15- ClientId : import . meta. env . VITE_COGNITO_CLIENT_ID ,
16- endpoint : import . meta. env . VITE_COGNITO_ENDPOINT ,
17- } )
14+ // lazy: construtor lança sem UserPoolId/ClientId — instanciar no import derrubaria o app
15+ // em ambientes sem direct auth (CloudFront/AWS usa só Hosted UI)
16+ let userPool : CognitoUserPool | undefined
17+
18+ function getUserPool ( ) : CognitoUserPool {
19+ userPool ??= new CognitoUserPool ( {
20+ UserPoolId : config . cognitoUserPoolId ,
21+ ClientId : config . cognitoClientId ,
22+ endpoint : import . meta. env . VITE_COGNITO_ENDPOINT ,
23+ } )
24+ return userPool
25+ }
1826
1927export interface DirectAuthSession {
2028 accessToken : string
@@ -44,7 +52,7 @@ export function clearStoredSession() {
4452}
4553
4654export function signIn ( email : string , password : string ) : Promise < DirectAuthSession > {
47- const cognitoUser = new CognitoUser ( { Username : email , Pool : userPool } )
55+ const cognitoUser = new CognitoUser ( { Username : email , Pool : getUserPool ( ) } )
4856 const authDetails = new AuthenticationDetails ( { Username : email , Password : password } )
4957
5058 return new Promise ( ( resolve , reject ) => {
@@ -61,13 +69,13 @@ export function signIn(email: string, password: string): Promise<DirectAuthSessi
6169
6270export function signUp ( email : string , password : string ) : Promise < void > {
6371 return new Promise ( ( resolve , reject ) => {
64- userPool . signUp ( email , password , [ ] , [ ] , ( err ) => {
72+ getUserPool ( ) . signUp ( email , password , [ ] , [ ] , ( err ) => {
6573 if ( err ) {
6674 reject ( err )
6775 return
6876 }
6977
70- const cognitoUser = new CognitoUser ( { Username : email , Pool : userPool } )
78+ const cognitoUser = new CognitoUser ( { Username : email , Pool : getUserPool ( ) } )
7179 cognitoUser . confirmRegistration ( DUMMY_CONFIRMATION_CODE , true , ( confirmErr ) => {
7280 if ( confirmErr ) {
7381 reject ( confirmErr )
0 commit comments