@tgtone/auth-sdk 1.0.0 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +240 -16
- package/dist/tgtone-auth-client.d.ts +33 -1
- package/dist/tgtone-auth-client.d.ts.map +1 -1
- package/dist/tgtone-auth-client.js +206 -2
- package/dist/tgtone-auth-client.js.map +1 -1
- package/package.json +2 -2
package/README.md
CHANGED
|
@@ -14,6 +14,8 @@ npm install @tgtone/auth-sdk
|
|
|
14
14
|
|
|
15
15
|
## 🚀 Quick Start
|
|
16
16
|
|
|
17
|
+
### Crear cuenta nueva (Signup)
|
|
18
|
+
|
|
17
19
|
```typescript
|
|
18
20
|
import { TGTAuthClient } from '@tgtone/auth-sdk';
|
|
19
21
|
|
|
@@ -23,36 +25,192 @@ const auth = new TGTAuthClient({
|
|
|
23
25
|
debug: true
|
|
24
26
|
});
|
|
25
27
|
|
|
26
|
-
//
|
|
28
|
+
// Signup - Crear nueva cuenta
|
|
29
|
+
const result = await auth.signup({
|
|
30
|
+
email: 'juan@empresa.cl',
|
|
31
|
+
password: 'MiPassword123!', // Opcional - si no se provee, se genera automática
|
|
32
|
+
firstName: 'Juan',
|
|
33
|
+
lastName: 'Pérez',
|
|
34
|
+
tenantName: 'Mi Empresa'
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
console.log('Cuenta creada:', result.user.email);
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
### Iniciar sesión (Login)
|
|
41
|
+
|
|
42
|
+
```typescript
|
|
43
|
+
// Login - Iniciar sesión
|
|
44
|
+
const result = await auth.login({
|
|
45
|
+
email: 'juan@empresa.cl',
|
|
46
|
+
password: 'MiPassword123!'
|
|
47
|
+
});
|
|
48
|
+
|
|
49
|
+
// Si tiene MFA habilitado
|
|
50
|
+
if (result.requiresMfa) {
|
|
51
|
+
const code = prompt('Ingresa código de Google Authenticator:');
|
|
52
|
+
const session = await auth.verifyMfa(result.tempToken, code);
|
|
53
|
+
console.log('Login con MFA exitoso');
|
|
54
|
+
} else {
|
|
55
|
+
console.log('Login exitoso:', result.user.email);
|
|
56
|
+
}
|
|
57
|
+
```
|
|
58
|
+
|
|
59
|
+
### Verificar sesión existente
|
|
60
|
+
|
|
61
|
+
```typescript
|
|
62
|
+
// Verificar sesión (redirige automáticamente si no hay sesión)
|
|
27
63
|
const session = await auth.checkSession();
|
|
28
64
|
if (session) {
|
|
29
65
|
console.log('Usuario:', session.user.email);
|
|
30
66
|
console.log('Tenant:', session.tenantName);
|
|
31
|
-
console.log('Roles:', session.roles);
|
|
67
|
+
console.log('Roles:', session.user.roles);
|
|
32
68
|
console.log('Expira:', session.expiresAt);
|
|
33
69
|
}
|
|
34
70
|
```
|
|
35
71
|
|
|
72
|
+
### Verificar sesión SIN redirigir (nuevo en v1.2.0)
|
|
73
|
+
|
|
74
|
+
```typescript
|
|
75
|
+
// Solo verifica si el usuario está logeado - NO redirige
|
|
76
|
+
const session = await auth.checkSessionSilent();
|
|
77
|
+
|
|
78
|
+
if (session) {
|
|
79
|
+
console.log('Usuario logeado:', session.user.email);
|
|
80
|
+
// Mostrar contenido privado
|
|
81
|
+
} else {
|
|
82
|
+
console.log('Usuario no logeado');
|
|
83
|
+
// Mostrar botón de login
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
// Verificar sin validar con backend (más rápido, solo valida JWT localmente)
|
|
87
|
+
const session = await auth.checkSessionSilent(false);
|
|
88
|
+
```
|
|
89
|
+
|
|
90
|
+
### Redirigir a login con URL de retorno personalizada
|
|
91
|
+
|
|
92
|
+
```typescript
|
|
93
|
+
// Configurar hosts permitidos para redirecciones
|
|
94
|
+
const auth = new TGTAuthClient({
|
|
95
|
+
identityUrl: 'https://identity.tgtone.cl',
|
|
96
|
+
appDomain: 'tgtone.cl',
|
|
97
|
+
allowedRedirectHosts: ['tgtone.cl', 'www.tgtone.cl', 'app.tgtone.cl']
|
|
98
|
+
});
|
|
99
|
+
|
|
100
|
+
// Desde la página /precios, redirigir a login y volver después
|
|
101
|
+
const currentUrl = window.location.href; // https://tgtone.cl/precios
|
|
102
|
+
auth.redirectToLogin(currentUrl);
|
|
103
|
+
|
|
104
|
+
// Después del login, el usuario volverá a /precios
|
|
105
|
+
```
|
|
106
|
+
|
|
36
107
|
---
|
|
37
108
|
|
|
38
109
|
## 📋 API Principal
|
|
39
110
|
|
|
40
|
-
###
|
|
41
|
-
|
|
111
|
+
### **Autenticación**
|
|
112
|
+
|
|
113
|
+
#### `signup(data: SignupData): Promise<AuthResponse>`
|
|
114
|
+
Crea una nueva cuenta de usuario y tenant.
|
|
115
|
+
|
|
116
|
+
```typescript
|
|
117
|
+
const result = await auth.signup({
|
|
118
|
+
email: 'user@empresa.cl',
|
|
119
|
+
password: 'Pass123!', // Opcional
|
|
120
|
+
firstName: 'María',
|
|
121
|
+
lastName: 'García',
|
|
122
|
+
tenantName: 'Empresa XYZ'
|
|
123
|
+
});
|
|
124
|
+
|
|
125
|
+
if (result.mustChangePassword) {
|
|
126
|
+
// Mostrar formulario de cambio de contraseña
|
|
127
|
+
}
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
#### `login(data: LoginData): Promise<AuthResponse>`
|
|
131
|
+
Inicia sesión con email y contraseña.
|
|
132
|
+
|
|
133
|
+
```typescript
|
|
134
|
+
const result = await auth.login({
|
|
135
|
+
email: 'user@empresa.cl',
|
|
136
|
+
password: 'Pass123!'
|
|
137
|
+
});
|
|
138
|
+
```
|
|
139
|
+
|
|
140
|
+
#### `verifyMfa(tempToken: string, code: string): Promise<TGTSession>`
|
|
141
|
+
Verifica código MFA después de login (si el usuario tiene MFA habilitado).
|
|
42
142
|
|
|
43
|
-
|
|
143
|
+
```typescript
|
|
144
|
+
if (result.requiresMfa) {
|
|
145
|
+
const session = await auth.verifyMfa(result.tempToken, '123456');
|
|
146
|
+
}
|
|
147
|
+
```
|
|
148
|
+
|
|
149
|
+
### **Sesión**
|
|
150
|
+
|
|
151
|
+
#### `checkSession(): Promise<TGTSession | null>`
|
|
152
|
+
Verifica sesión existente, valida JWT y hace request al backend. **Redirige automáticamente a login si no hay sesión válida.**
|
|
153
|
+
|
|
154
|
+
**Retorna:** `TGTSession` con `{ user, tenantId, tenantName, expiresAt }` o `null`.
|
|
155
|
+
|
|
156
|
+
**Uso:** Apps que requieren autenticación obligatoria (dashboards, consolas).
|
|
157
|
+
|
|
158
|
+
#### `checkSessionSilent(validateWithServer = true): Promise<TGTSession | null>` 🆕
|
|
159
|
+
Verifica sesión **SIN redirigir automáticamente**. Ideal para saber si el usuario está logeado sin forzar redirecciones.
|
|
160
|
+
|
|
161
|
+
**Parámetros:**
|
|
162
|
+
- `validateWithServer` (boolean): Si es `true`, valida con `/api/v1/auth/me`. Si es `false`, solo valida JWT localmente (más rápido).
|
|
163
|
+
|
|
164
|
+
**Retorna:** `TGTSession` o `null` si no hay sesión.
|
|
165
|
+
|
|
166
|
+
**Uso:** Landing pages, páginas públicas que muestran contenido diferente si el usuario está logeado.
|
|
44
167
|
|
|
45
|
-
|
|
46
|
-
|
|
168
|
+
```typescript
|
|
169
|
+
// Ejemplo: Mostrar "Ir al Dashboard" si está logeado, sino "Login"
|
|
170
|
+
const session = await auth.checkSessionSilent();
|
|
171
|
+
if (session) {
|
|
172
|
+
showButton('Ir al Dashboard', '/dashboard');
|
|
173
|
+
} else {
|
|
174
|
+
showButton('Iniciar Sesión', () => auth.redirectToLogin());
|
|
175
|
+
}
|
|
176
|
+
```
|
|
177
|
+
|
|
178
|
+
#### `getSession(): TGTSession | null`
|
|
179
|
+
Obtiene sesión completa en memoria (sin hacer request).
|
|
47
180
|
|
|
48
|
-
|
|
181
|
+
#### `getTenantId(): string | null`
|
|
49
182
|
Obtiene ID del tenant actual.
|
|
50
183
|
|
|
51
|
-
|
|
184
|
+
#### `redirectToLogin(redirectUrl?: string): void` 🆕
|
|
185
|
+
Redirige al login del Identity Provider.
|
|
186
|
+
|
|
187
|
+
**Parámetros:**
|
|
188
|
+
- `redirectUrl` (string, opcional): URL completa a la que redirigir después del login. Solo funciona si el host está en `allowedRedirectHosts`.
|
|
189
|
+
|
|
190
|
+
**Ejemplo:**
|
|
191
|
+
```typescript
|
|
192
|
+
// Redirigir a login y volver a la página actual
|
|
193
|
+
auth.redirectToLogin(window.location.href);
|
|
194
|
+
```
|
|
195
|
+
|
|
196
|
+
#### `logout(): Promise<void>`
|
|
52
197
|
Cierra sesión y limpia localStorage.
|
|
53
198
|
|
|
54
|
-
|
|
55
|
-
Verifica si
|
|
199
|
+
#### `isRedirectAllowed(redirectUrl: string): boolean` 🆕
|
|
200
|
+
Verifica si una URL de redirección está permitida según `allowedRedirectHosts`.
|
|
201
|
+
|
|
202
|
+
**Ejemplo:**
|
|
203
|
+
```typescript
|
|
204
|
+
const url = 'https://tgtone.cl/precios';
|
|
205
|
+
if (auth.isRedirectAllowed(url)) {
|
|
206
|
+
auth.redirectToLogin(url);
|
|
207
|
+
}
|
|
208
|
+
```
|
|
209
|
+
|
|
210
|
+
### **Autorización**
|
|
211
|
+
|
|
212
|
+
#### `hasRole(app: string, role: string): boolean`
|
|
213
|
+
Verifica si el usuario tiene un rol específico en una app.
|
|
56
214
|
|
|
57
215
|
```typescript
|
|
58
216
|
if (auth.hasRole('console', 'admin')) {
|
|
@@ -60,10 +218,18 @@ if (auth.hasRole('console', 'admin')) {
|
|
|
60
218
|
}
|
|
61
219
|
```
|
|
62
220
|
|
|
221
|
+
#### `getRoles(app: string): string[]`
|
|
222
|
+
Obtiene todos los roles del usuario en una app.
|
|
223
|
+
|
|
224
|
+
#### `hasAccessToApp(app: string): boolean`
|
|
225
|
+
Verifica si el usuario tiene acceso a una app.
|
|
226
|
+
|
|
63
227
|
---
|
|
64
228
|
|
|
65
229
|
## 🔄 Cómo Funciona
|
|
66
230
|
|
|
231
|
+
### Flujo estándar (con `checkSession()`)
|
|
232
|
+
|
|
67
233
|
1. Usuario visita tu app
|
|
68
234
|
2. `checkSession()` no encuentra token → redirige a Identity
|
|
69
235
|
3. Usuario hace login en Identity
|
|
@@ -72,6 +238,17 @@ if (auth.hasRole('console', 'admin')) {
|
|
|
72
238
|
6. SDK valida token con `Authorization: Bearer ...`
|
|
73
239
|
7. Retorna usuario
|
|
74
240
|
|
|
241
|
+
### Flujo sin redirección automática (con `checkSessionSilent()`) 🆕
|
|
242
|
+
|
|
243
|
+
1. Usuario visita tu landing page
|
|
244
|
+
2. `checkSessionSilent()` verifica si hay token válido
|
|
245
|
+
3. Si hay sesión: muestra contenido personalizado (ej: "Ir al Dashboard")
|
|
246
|
+
4. Si NO hay sesión: muestra botón de login
|
|
247
|
+
5. Usuario hace click en login → `redirectToLogin(window.location.href)`
|
|
248
|
+
6. Después del login, vuelve a la misma página
|
|
249
|
+
|
|
250
|
+
**Caso de uso:** Landing pages, páginas de precios, documentación pública que adapta contenido según si el usuario está logeado.
|
|
251
|
+
|
|
75
252
|
---
|
|
76
253
|
|
|
77
254
|
## 📚 Documentación Completa
|
|
@@ -117,14 +294,45 @@ interface TGTUser {
|
|
|
117
294
|
|
|
118
295
|
```typescript
|
|
119
296
|
interface TGTAuthConfig {
|
|
120
|
-
identityUrl: string;
|
|
121
|
-
appDomain: string;
|
|
122
|
-
|
|
297
|
+
identityUrl: string; // URL del backend Identity
|
|
298
|
+
appDomain: string; // Dominio de tu app
|
|
299
|
+
allowedRedirectHosts?: string[]; // 🆕 Hosts permitidos para redirecciones (opcional)
|
|
300
|
+
onAuthSuccess?: (session: TGTSession) => void;
|
|
123
301
|
onAuthFailure?: () => void;
|
|
124
302
|
debug?: boolean;
|
|
125
303
|
}
|
|
126
304
|
```
|
|
127
305
|
|
|
306
|
+
### Ejemplo completo
|
|
307
|
+
|
|
308
|
+
```typescript
|
|
309
|
+
const auth = new TGTAuthClient({
|
|
310
|
+
identityUrl: 'https://identity.tgtone.cl',
|
|
311
|
+
appDomain: 'tgtone.cl',
|
|
312
|
+
|
|
313
|
+
// 🆕 Permitir redirecciones a estos dominios
|
|
314
|
+
allowedRedirectHosts: [
|
|
315
|
+
'tgtone.cl',
|
|
316
|
+
'www.tgtone.cl',
|
|
317
|
+
'app.tgtone.cl',
|
|
318
|
+
'landing.tgtone.cl'
|
|
319
|
+
],
|
|
320
|
+
|
|
321
|
+
// Callbacks opcionales
|
|
322
|
+
onAuthSuccess: (session) => {
|
|
323
|
+
console.log('Usuario autenticado:', session.user.email);
|
|
324
|
+
// Redirigir a dashboard, cargar datos, etc.
|
|
325
|
+
},
|
|
326
|
+
|
|
327
|
+
onAuthFailure: () => {
|
|
328
|
+
console.log('Sin sesión');
|
|
329
|
+
// Mostrar landing page pública
|
|
330
|
+
},
|
|
331
|
+
|
|
332
|
+
debug: true // Logs en consola para desarrollo
|
|
333
|
+
});
|
|
334
|
+
```
|
|
335
|
+
|
|
128
336
|
---
|
|
129
337
|
|
|
130
338
|
## 🔐 Seguridad
|
|
@@ -136,5 +344,21 @@ interface TGTAuthConfig {
|
|
|
136
344
|
|
|
137
345
|
---
|
|
138
346
|
|
|
139
|
-
**Versión:** 1.0
|
|
140
|
-
**Última actualización:** 2025-10-
|
|
347
|
+
**Versión:** 1.2.0
|
|
348
|
+
**Última actualización:** 2025-10-30
|
|
349
|
+
|
|
350
|
+
## 🆕 Changelog
|
|
351
|
+
|
|
352
|
+
### v1.2.0 (2025-10-30)
|
|
353
|
+
- ✅ `checkSessionSilent()` - Verificar sesión sin redirigir automáticamente
|
|
354
|
+
- ✅ `allowedRedirectHosts` - Configurar hosts permitidos para redirecciones
|
|
355
|
+
- ✅ `redirectToLogin(redirectUrl)` - Redirigir con URL de retorno personalizada
|
|
356
|
+
- ✅ `isRedirectAllowed()` - Validar URLs de redirección
|
|
357
|
+
|
|
358
|
+
### v1.1.0 (2025-10-26)
|
|
359
|
+
- ✅ `signup()` - Crear nuevas cuentas desde el SDK
|
|
360
|
+
- ✅ `login()` - Iniciar sesión programáticamente
|
|
361
|
+
- ✅ Soporte para MFA con `verifyMfa()`
|
|
362
|
+
|
|
363
|
+
### v1.0.1 (2025-10-16)
|
|
364
|
+
- Primera versión pública con SSO básico
|
|
@@ -33,22 +33,54 @@ export interface TGTAuthConfig {
|
|
|
33
33
|
onAuthSuccess?: (session: TGTSession) => void;
|
|
34
34
|
onAuthFailure?: () => void;
|
|
35
35
|
debug?: boolean;
|
|
36
|
+
allowedRedirectHosts?: string[];
|
|
36
37
|
}
|
|
37
38
|
export interface SessionResponse {
|
|
38
39
|
user: TGTUser;
|
|
39
40
|
}
|
|
41
|
+
export interface SignupData {
|
|
42
|
+
email: string;
|
|
43
|
+
password?: string;
|
|
44
|
+
firstName: string;
|
|
45
|
+
lastName: string;
|
|
46
|
+
tenantName: string;
|
|
47
|
+
}
|
|
48
|
+
export interface LoginData {
|
|
49
|
+
email: string;
|
|
50
|
+
password: string;
|
|
51
|
+
}
|
|
52
|
+
export interface AuthResponse {
|
|
53
|
+
token: string;
|
|
54
|
+
accessToken: string;
|
|
55
|
+
expiresIn: number;
|
|
56
|
+
user: {
|
|
57
|
+
id: string;
|
|
58
|
+
email: string;
|
|
59
|
+
firstName?: string;
|
|
60
|
+
lastName?: string;
|
|
61
|
+
};
|
|
62
|
+
mustChangePassword?: boolean;
|
|
63
|
+
requiresMfa?: boolean;
|
|
64
|
+
tempToken?: string;
|
|
65
|
+
message?: string;
|
|
66
|
+
}
|
|
40
67
|
export declare class TGTAuthClient {
|
|
41
68
|
private static readonly TOKEN_KEY;
|
|
42
69
|
private static readonly TEMP_TOKEN_KEY;
|
|
43
70
|
private config;
|
|
44
71
|
private currentUser;
|
|
45
72
|
private currentSession;
|
|
73
|
+
private allowedRedirectHosts;
|
|
46
74
|
constructor(config: TGTAuthConfig);
|
|
75
|
+
signup(data: SignupData): Promise<AuthResponse>;
|
|
76
|
+
login(data: LoginData): Promise<AuthResponse>;
|
|
47
77
|
checkSession(): Promise<TGTSession | null>;
|
|
48
78
|
getSession(): TGTSession | null;
|
|
49
79
|
getUser(): TGTUser | null;
|
|
50
80
|
getTenantId(): string | null;
|
|
51
|
-
redirectToLogin(): void;
|
|
81
|
+
redirectToLogin(redirectUrl?: string): void;
|
|
82
|
+
checkSessionSilent(validateWithServer?: boolean): Promise<TGTSession | null>;
|
|
83
|
+
isRedirectAllowed(redirectUrl: string): boolean;
|
|
52
84
|
logout(): Promise<void>;
|
|
53
85
|
verifyMfa(tempToken: string, code: string): Promise<TGTSession | null>;
|
|
54
86
|
hasRole(appName: string, roleName: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tgtone-auth-client.d.ts","sourceRoot":"","sources":["../tgtone-auth-client.ts"],"names":[],"mappings":"AA6BA,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;IAChC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,MAAM,CAAC;CACb;AAED,MAAM,WAAW,OAAO;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE,MAAM,CAAC;IACd,cAAc,EAAE,OAAO,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;CACjC;AAED,MAAM,WAAW,UAAU;IACzB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IAEnB,SAAS,EAAE,IAAI,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAK5B,WAAW,EAAE,MAAM,CAAC;IAMpB,SAAS,EAAE,MAAM,CAAC;IAMlB,aAAa,CAAC,EAAE,CAAC,OAAO,EAAE,UAAU,KAAK,IAAI,CAAC;IAM9C,aAAa,CAAC,EAAE,MAAM,IAAI,CAAC;IAM3B,KAAK,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"tgtone-auth-client.d.ts","sourceRoot":"","sources":["../tgtone-auth-client.ts"],"names":[],"mappings":"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"}
|
|
@@ -3,14 +3,112 @@ export class TGTAuthClient {
|
|
|
3
3
|
constructor(config) {
|
|
4
4
|
this.currentUser = null;
|
|
5
5
|
this.currentSession = null;
|
|
6
|
+
this.allowedRedirectHosts = [];
|
|
6
7
|
this.config = {
|
|
7
8
|
onAuthSuccess: () => { },
|
|
8
9
|
onAuthFailure: () => { },
|
|
9
10
|
debug: false,
|
|
10
11
|
...config,
|
|
12
|
+
allowedRedirectHosts: config.allowedRedirectHosts ?? [config.appDomain],
|
|
11
13
|
};
|
|
14
|
+
this.allowedRedirectHosts = this.config.allowedRedirectHosts || [this.config.appDomain];
|
|
12
15
|
this.log('🔹 TGT Auth Client inicializado', this.config);
|
|
13
16
|
}
|
|
17
|
+
async signup(data) {
|
|
18
|
+
try {
|
|
19
|
+
this.log('🔹 Creando nueva cuenta...');
|
|
20
|
+
const response = await fetch(`${this.config.identityUrl}/api/v1/auth/signup`, {
|
|
21
|
+
method: 'POST',
|
|
22
|
+
headers: {
|
|
23
|
+
'Content-Type': 'application/json',
|
|
24
|
+
},
|
|
25
|
+
body: JSON.stringify(data),
|
|
26
|
+
});
|
|
27
|
+
if (!response.ok) {
|
|
28
|
+
const error = await response.json().catch(() => ({ message: 'Error en el servidor' }));
|
|
29
|
+
throw new Error(error.message || `Error ${response.status}: ${response.statusText}`);
|
|
30
|
+
}
|
|
31
|
+
const result = await response.json();
|
|
32
|
+
if (!result.token && !result.accessToken) {
|
|
33
|
+
throw new Error('Respuesta inválida del servidor: falta token');
|
|
34
|
+
}
|
|
35
|
+
const token = result.accessToken || result.token;
|
|
36
|
+
this.storeToken(token);
|
|
37
|
+
const payload = jwtDecode(token);
|
|
38
|
+
this.currentUser = {
|
|
39
|
+
sub: payload.sub,
|
|
40
|
+
email: payload.email,
|
|
41
|
+
email_verified: payload.email_verified,
|
|
42
|
+
name: payload.name,
|
|
43
|
+
tenant_id: payload.tenant_id,
|
|
44
|
+
tenant_name: payload.tenant_name,
|
|
45
|
+
roles: payload.roles,
|
|
46
|
+
};
|
|
47
|
+
this.currentSession = {
|
|
48
|
+
user: this.currentUser,
|
|
49
|
+
tenantId: payload.tenant_id,
|
|
50
|
+
tenantName: payload.tenant_name,
|
|
51
|
+
expiresAt: new Date(payload.exp * 1000),
|
|
52
|
+
};
|
|
53
|
+
this.log('✅ Cuenta creada exitosamente');
|
|
54
|
+
this.config.onAuthSuccess(this.currentSession);
|
|
55
|
+
return result;
|
|
56
|
+
}
|
|
57
|
+
catch (error) {
|
|
58
|
+
this.log('❌ Error en signup:', error);
|
|
59
|
+
throw error;
|
|
60
|
+
}
|
|
61
|
+
}
|
|
62
|
+
async login(data) {
|
|
63
|
+
try {
|
|
64
|
+
this.log('🔹 Iniciando sesión...');
|
|
65
|
+
const response = await fetch(`${this.config.identityUrl}/api/v1/auth/login`, {
|
|
66
|
+
method: 'POST',
|
|
67
|
+
headers: {
|
|
68
|
+
'Content-Type': 'application/json',
|
|
69
|
+
},
|
|
70
|
+
body: JSON.stringify(data),
|
|
71
|
+
});
|
|
72
|
+
if (!response.ok) {
|
|
73
|
+
const error = await response.json().catch(() => ({ message: 'Credenciales inválidas' }));
|
|
74
|
+
throw new Error(error.message || 'Credenciales inválidas');
|
|
75
|
+
}
|
|
76
|
+
const result = await response.json();
|
|
77
|
+
if (result.requiresMfa && result.tempToken) {
|
|
78
|
+
this.log('🔹 MFA requerido');
|
|
79
|
+
this.storeTempToken(result.tempToken);
|
|
80
|
+
return result;
|
|
81
|
+
}
|
|
82
|
+
if (!result.token && !result.accessToken) {
|
|
83
|
+
throw new Error('Respuesta inválida del servidor: falta token');
|
|
84
|
+
}
|
|
85
|
+
const token = result.accessToken || result.token;
|
|
86
|
+
this.storeToken(token);
|
|
87
|
+
const payload = jwtDecode(token);
|
|
88
|
+
this.currentUser = {
|
|
89
|
+
sub: payload.sub,
|
|
90
|
+
email: payload.email,
|
|
91
|
+
email_verified: payload.email_verified,
|
|
92
|
+
name: payload.name,
|
|
93
|
+
tenant_id: payload.tenant_id,
|
|
94
|
+
tenant_name: payload.tenant_name,
|
|
95
|
+
roles: payload.roles,
|
|
96
|
+
};
|
|
97
|
+
this.currentSession = {
|
|
98
|
+
user: this.currentUser,
|
|
99
|
+
tenantId: payload.tenant_id,
|
|
100
|
+
tenantName: payload.tenant_name,
|
|
101
|
+
expiresAt: new Date(payload.exp * 1000),
|
|
102
|
+
};
|
|
103
|
+
this.log('✅ Login exitoso');
|
|
104
|
+
this.config.onAuthSuccess(this.currentSession);
|
|
105
|
+
return result;
|
|
106
|
+
}
|
|
107
|
+
catch (error) {
|
|
108
|
+
this.log('❌ Error en login:', error);
|
|
109
|
+
throw error;
|
|
110
|
+
}
|
|
111
|
+
}
|
|
14
112
|
async checkSession() {
|
|
15
113
|
try {
|
|
16
114
|
const tempToken = this.getTempToken();
|
|
@@ -116,12 +214,118 @@ Posibles causas:
|
|
|
116
214
|
getTenantId() {
|
|
117
215
|
return this.currentSession?.tenantId || null;
|
|
118
216
|
}
|
|
119
|
-
redirectToLogin() {
|
|
120
|
-
|
|
217
|
+
redirectToLogin(redirectUrl) {
|
|
218
|
+
let redirectParam = this.config.appDomain;
|
|
219
|
+
if (redirectUrl && this.isRedirectAllowed(redirectUrl)) {
|
|
220
|
+
redirectParam = encodeURIComponent(redirectUrl);
|
|
221
|
+
}
|
|
222
|
+
const loginUrl = `${this.config.identityUrl}/login?redirect=${redirectParam}`;
|
|
121
223
|
this.log('🔄 Redirigiendo a login:', loginUrl);
|
|
122
224
|
this.log('🔄 Desde origen:', typeof window !== 'undefined' ? window.location.origin : 'unknown');
|
|
123
225
|
window.location.href = loginUrl;
|
|
124
226
|
}
|
|
227
|
+
async checkSessionSilent(validateWithServer = true) {
|
|
228
|
+
try {
|
|
229
|
+
const tempToken = this.getTempToken();
|
|
230
|
+
if (tempToken) {
|
|
231
|
+
this.log('🔹 Flujo MFA en progreso (tempToken detectado) - silent');
|
|
232
|
+
return null;
|
|
233
|
+
}
|
|
234
|
+
const urlToken = this.getTokenFromUrl();
|
|
235
|
+
if (urlToken) {
|
|
236
|
+
this.storeToken(urlToken);
|
|
237
|
+
this.removeTokenFromUrl();
|
|
238
|
+
}
|
|
239
|
+
const token = this.getStoredToken();
|
|
240
|
+
if (!token) {
|
|
241
|
+
this.log('❌ No hay token en localStorage - silent');
|
|
242
|
+
return null;
|
|
243
|
+
}
|
|
244
|
+
let decoded;
|
|
245
|
+
try {
|
|
246
|
+
decoded = jwtDecode(token);
|
|
247
|
+
}
|
|
248
|
+
catch (error) {
|
|
249
|
+
this.log('❌ Error decodificando JWT - silent:', error);
|
|
250
|
+
this.clearStoredToken();
|
|
251
|
+
return null;
|
|
252
|
+
}
|
|
253
|
+
if (!decoded.tenant_id) {
|
|
254
|
+
this.log('❌ Token inválido: falta tenant_id - silent');
|
|
255
|
+
this.clearStoredToken();
|
|
256
|
+
return null;
|
|
257
|
+
}
|
|
258
|
+
const now = Date.now();
|
|
259
|
+
if (decoded.exp * 1000 < now) {
|
|
260
|
+
this.log('❌ Token expirado - silent');
|
|
261
|
+
this.clearStoredToken();
|
|
262
|
+
return null;
|
|
263
|
+
}
|
|
264
|
+
if (validateWithServer) {
|
|
265
|
+
try {
|
|
266
|
+
const response = await fetch(`${this.config.identityUrl}/api/v1/auth/me`, {
|
|
267
|
+
method: 'GET',
|
|
268
|
+
headers: {
|
|
269
|
+
'Content-Type': 'application/json',
|
|
270
|
+
'Authorization': `Bearer ${token}`,
|
|
271
|
+
},
|
|
272
|
+
});
|
|
273
|
+
if (!response.ok) {
|
|
274
|
+
this.log('❌ Backend rechazó el token (HTTP', response.status, ') - silent');
|
|
275
|
+
this.clearStoredToken();
|
|
276
|
+
return null;
|
|
277
|
+
}
|
|
278
|
+
const data = await response.json();
|
|
279
|
+
const expiresAt = new Date(decoded.exp * 1000);
|
|
280
|
+
const session = {
|
|
281
|
+
user: data.user,
|
|
282
|
+
tenantId: decoded.tenant_id,
|
|
283
|
+
tenantName: decoded.tenant_name,
|
|
284
|
+
expiresAt,
|
|
285
|
+
};
|
|
286
|
+
this.currentUser = data.user;
|
|
287
|
+
this.currentSession = session;
|
|
288
|
+
return session;
|
|
289
|
+
}
|
|
290
|
+
catch (err) {
|
|
291
|
+
this.log('❌ Error verificando sesión con backend - silent:', err);
|
|
292
|
+
return null;
|
|
293
|
+
}
|
|
294
|
+
}
|
|
295
|
+
const expiresAt = new Date(decoded.exp * 1000);
|
|
296
|
+
const session = {
|
|
297
|
+
user: {
|
|
298
|
+
sub: decoded.sub,
|
|
299
|
+
email: decoded.email,
|
|
300
|
+
email_verified: decoded.email_verified,
|
|
301
|
+
name: decoded.name,
|
|
302
|
+
tenant_id: decoded.tenant_id,
|
|
303
|
+
tenant_name: decoded.tenant_name,
|
|
304
|
+
roles: decoded.roles,
|
|
305
|
+
},
|
|
306
|
+
tenantId: decoded.tenant_id,
|
|
307
|
+
tenantName: decoded.tenant_name,
|
|
308
|
+
expiresAt,
|
|
309
|
+
};
|
|
310
|
+
this.currentUser = session.user;
|
|
311
|
+
this.currentSession = session;
|
|
312
|
+
return session;
|
|
313
|
+
}
|
|
314
|
+
catch (error) {
|
|
315
|
+
this.log('❌ Error en checkSessionSilent:', error);
|
|
316
|
+
return null;
|
|
317
|
+
}
|
|
318
|
+
}
|
|
319
|
+
isRedirectAllowed(redirectUrl) {
|
|
320
|
+
try {
|
|
321
|
+
const parsed = new URL(redirectUrl);
|
|
322
|
+
const host = parsed.hostname;
|
|
323
|
+
return this.allowedRedirectHosts.includes(host) || this.allowedRedirectHosts.includes(parsed.host);
|
|
324
|
+
}
|
|
325
|
+
catch (error) {
|
|
326
|
+
return false;
|
|
327
|
+
}
|
|
328
|
+
}
|
|
125
329
|
async logout() {
|
|
126
330
|
try {
|
|
127
331
|
this.log('🔹 Cerrando sesión...');
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tgtone-auth-client.js","sourceRoot":"","sources":["../tgtone-auth-client.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tgtone-auth-client.js","sourceRoot":"","sources":["../tgtone-auth-client.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@tgtone/auth-sdk",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0",
|
|
4
4
|
"description": "SDK de autenticación JWT + Bearer Token para el ecosistema TGT One",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -48,4 +48,4 @@
|
|
|
48
48
|
"optional": true
|
|
49
49
|
}
|
|
50
50
|
}
|
|
51
|
-
}
|
|
51
|
+
}
|