@fnd-platform/cognito-auth 1.0.0-alpha.1 → 1.0.0-alpha.3

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.
@@ -1,4 +1,4 @@
1
- 'use strict';
1
+ "use strict";
2
2
  /**
3
3
  * Remix session management utilities.
4
4
  *
@@ -7,7 +7,7 @@
7
7
  *
8
8
  * @packageDocumentation
9
9
  */
10
- Object.defineProperty(exports, '__esModule', { value: true });
10
+ Object.defineProperty(exports, "__esModule", { value: true });
11
11
  exports.createSessionStorage = createSessionStorage;
12
12
  exports.resetDefaultStorage = resetDefaultStorage;
13
13
  exports.getSession = getSession;
@@ -16,7 +16,7 @@ exports.requireAuth = requireAuth;
16
16
  exports.getOptionalUser = getOptionalUser;
17
17
  exports.getUserSession = getUserSession;
18
18
  exports.logout = logout;
19
- const node_1 = require('@remix-run/node');
19
+ const node_1 = require("@remix-run/node");
20
20
  /**
21
21
  * Default session storage instance.
22
22
  * Lazily initialized to avoid accessing env at module load.
@@ -26,11 +26,11 @@ let defaultSessionStorage = null;
26
26
  * Cookie configuration for session storage.
27
27
  */
28
28
  const COOKIE_CONFIG = {
29
- name: '__fnd_session',
30
- httpOnly: true,
31
- maxAge: 60 * 60 * 24 * 7, // 1 week
32
- path: '/',
33
- sameSite: 'lax',
29
+ name: '__fnd_session',
30
+ httpOnly: true,
31
+ maxAge: 60 * 60 * 24 * 7, // 1 week
32
+ path: '/',
33
+ sameSite: 'lax',
34
34
  };
35
35
  /**
36
36
  * Creates a session storage with the given secret.
@@ -48,17 +48,17 @@ const COOKIE_CONFIG = {
48
48
  * ```
49
49
  */
50
50
  function createSessionStorage(secret) {
51
- const sessionSecret = secret ?? process.env.SESSION_SECRET;
52
- if (!sessionSecret) {
53
- throw new Error('SESSION_SECRET environment variable is required');
54
- }
55
- return (0, node_1.createCookieSessionStorage)({
56
- cookie: {
57
- ...COOKIE_CONFIG,
58
- secrets: [sessionSecret],
59
- secure: process.env.NODE_ENV === 'production',
60
- },
61
- });
51
+ const sessionSecret = secret ?? process.env.SESSION_SECRET;
52
+ if (!sessionSecret) {
53
+ throw new Error('SESSION_SECRET environment variable is required');
54
+ }
55
+ return (0, node_1.createCookieSessionStorage)({
56
+ cookie: {
57
+ ...COOKIE_CONFIG,
58
+ secrets: [sessionSecret],
59
+ secure: process.env.NODE_ENV === 'production',
60
+ },
61
+ });
62
62
  }
63
63
  /**
64
64
  * Gets the default session storage instance.
@@ -67,10 +67,10 @@ function createSessionStorage(secret) {
67
67
  * @internal
68
68
  */
69
69
  function getDefaultStorage() {
70
- if (!defaultSessionStorage) {
71
- defaultSessionStorage = createSessionStorage();
72
- }
73
- return defaultSessionStorage;
70
+ if (!defaultSessionStorage) {
71
+ defaultSessionStorage = createSessionStorage();
72
+ }
73
+ return defaultSessionStorage;
74
74
  }
75
75
  /**
76
76
  * Resets the default session storage. Useful for testing.
@@ -78,7 +78,7 @@ function getDefaultStorage() {
78
78
  * @internal
79
79
  */
80
80
  function resetDefaultStorage() {
81
- defaultSessionStorage = null;
81
+ defaultSessionStorage = null;
82
82
  }
83
83
  /**
84
84
  * Gets the session from a request.
@@ -96,8 +96,8 @@ function resetDefaultStorage() {
96
96
  * ```
97
97
  */
98
98
  async function getSession(request, storage) {
99
- const sessionStorage = storage ?? getDefaultStorage();
100
- return sessionStorage.getSession(request.headers.get('Cookie'));
99
+ const sessionStorage = storage ?? getDefaultStorage();
100
+ return sessionStorage.getSession(request.headers.get('Cookie'));
101
101
  }
102
102
  /**
103
103
  * Decodes a JWT token payload (base64).
@@ -108,13 +108,14 @@ async function getSession(request, storage) {
108
108
  * @internal
109
109
  */
110
110
  function decodeTokenPayload(token) {
111
- try {
112
- const payload = token.split('.')[1];
113
- const decoded = Buffer.from(payload, 'base64').toString('utf-8');
114
- return JSON.parse(decoded);
115
- } catch {
116
- return {};
117
- }
111
+ try {
112
+ const payload = token.split('.')[1];
113
+ const decoded = Buffer.from(payload, 'base64').toString('utf-8');
114
+ return JSON.parse(decoded);
115
+ }
116
+ catch {
117
+ return {};
118
+ }
118
119
  }
119
120
  /**
120
121
  * Creates a user session with authentication tokens and redirects.
@@ -136,23 +137,25 @@ function decodeTokenPayload(token) {
136
137
  * ```
137
138
  */
138
139
  async function createUserSession(tokens, redirectTo, storage) {
139
- const sessionStorage = storage ?? getDefaultStorage();
140
- const session = await sessionStorage.getSession();
141
- // Decode ID token to get user info
142
- const payload = decodeTokenPayload(tokens.idToken);
143
- // Store tokens and user info in session
144
- session.set('accessToken', tokens.accessToken);
145
- session.set('idToken', tokens.idToken);
146
- session.set('refreshToken', tokens.refreshToken);
147
- session.set('expiresAt', Date.now() + tokens.expiresIn * 1000);
148
- session.set('userId', payload.sub);
149
- session.set('email', payload.email ?? '');
150
- session.set('groups', payload['cognito:groups'] ?? []);
151
- return (0, node_1.redirect)(redirectTo, {
152
- headers: {
153
- 'Set-Cookie': await sessionStorage.commitSession(session),
154
- },
155
- });
140
+ const sessionStorage = storage ?? getDefaultStorage();
141
+ const session = await sessionStorage.getSession();
142
+ // Decode ID token to get user info
143
+ const payload = decodeTokenPayload(tokens.idToken);
144
+ // Store tokens and user info in session.
145
+ // Note: Cookies have a ~4KB limit. JWT tokens are typically 1-2KB each.
146
+ // We store accessToken (needed for API calls) and refreshToken (for token refresh).
147
+ // We skip idToken as it's redundant - user info is extracted and stored separately.
148
+ session.set('accessToken', tokens.accessToken);
149
+ session.set('refreshToken', tokens.refreshToken);
150
+ session.set('expiresAt', Date.now() + tokens.expiresIn * 1000);
151
+ session.set('userId', payload.sub);
152
+ session.set('email', payload.email ?? '');
153
+ session.set('groups', payload['cognito:groups'] ?? []);
154
+ return (0, node_1.redirect)(redirectTo, {
155
+ headers: {
156
+ 'Set-Cookie': await sessionStorage.commitSession(session),
157
+ },
158
+ });
156
159
  }
157
160
  /**
158
161
  * Requires authentication for a route.
@@ -176,19 +179,19 @@ async function createUserSession(tokens, redirectTo, storage) {
176
179
  * ```
177
180
  */
178
181
  async function requireAuth(request, redirectTo = '/login', storage) {
179
- const session = await getSession(request, storage);
180
- const userId = session.get('userId');
181
- if (!userId) {
182
- throw (0, node_1.redirect)(redirectTo);
183
- }
184
- // Check if tokens are near expiry (within 5 minutes)
185
- const expiresAt = session.get('expiresAt');
186
- if (expiresAt && Date.now() > expiresAt - 5 * 60 * 1000) {
187
- // Tokens are near expiry
188
- // In a full implementation, this would refresh tokens
189
- // For now, we just return the userId as the session is still valid
190
- }
191
- return userId;
182
+ const session = await getSession(request, storage);
183
+ const userId = session.get('userId');
184
+ if (!userId) {
185
+ throw (0, node_1.redirect)(redirectTo);
186
+ }
187
+ // Check if tokens are near expiry (within 5 minutes)
188
+ const expiresAt = session.get('expiresAt');
189
+ if (expiresAt && Date.now() > expiresAt - 5 * 60 * 1000) {
190
+ // Tokens are near expiry
191
+ // In a full implementation, this would refresh tokens
192
+ // For now, we just return the userId as the session is still valid
193
+ }
194
+ return userId;
192
195
  }
193
196
  /**
194
197
  * Gets the optional user from the session.
@@ -209,16 +212,16 @@ async function requireAuth(request, redirectTo = '/login', storage) {
209
212
  * ```
210
213
  */
211
214
  async function getOptionalUser(request, storage) {
212
- const session = await getSession(request, storage);
213
- const userId = session.get('userId');
214
- if (!userId) {
215
- return null;
216
- }
217
- return {
218
- userId,
219
- email: session.get('email') ?? '',
220
- groups: session.get('groups') ?? [],
221
- };
215
+ const session = await getSession(request, storage);
216
+ const userId = session.get('userId');
217
+ if (!userId) {
218
+ return null;
219
+ }
220
+ return {
221
+ userId,
222
+ email: session.get('email') ?? '',
223
+ groups: session.get('groups') ?? [],
224
+ };
222
225
  }
223
226
  /**
224
227
  * Gets full session data including tokens.
@@ -243,20 +246,22 @@ async function getOptionalUser(request, storage) {
243
246
  * ```
244
247
  */
245
248
  async function getUserSession(request, storage) {
246
- const session = await getSession(request, storage);
247
- const userId = session.get('userId');
248
- if (!userId) {
249
- return null;
250
- }
251
- return {
252
- accessToken: session.get('accessToken'),
253
- idToken: session.get('idToken'),
254
- refreshToken: session.get('refreshToken'),
255
- expiresAt: session.get('expiresAt'),
256
- userId,
257
- email: session.get('email') ?? '',
258
- groups: session.get('groups') ?? [],
259
- };
249
+ const session = await getSession(request, storage);
250
+ const userId = session.get('userId');
251
+ if (!userId) {
252
+ return null;
253
+ }
254
+ return {
255
+ // accessToken is stored for API calls. idToken is not stored (user info extracted separately).
256
+ // refreshToken can be used to obtain fresh tokens when accessToken expires.
257
+ accessToken: session.get('accessToken'),
258
+ idToken: session.get('idToken'),
259
+ refreshToken: session.get('refreshToken'),
260
+ expiresAt: session.get('expiresAt'),
261
+ userId,
262
+ email: session.get('email') ?? '',
263
+ groups: session.get('groups') ?? [],
264
+ };
260
265
  }
261
266
  /**
262
267
  * Logs out the user and redirects to the login page.
@@ -276,12 +281,12 @@ async function getUserSession(request, storage) {
276
281
  * ```
277
282
  */
278
283
  async function logout(request, redirectTo = '/login', storage) {
279
- const sessionStorage = storage ?? getDefaultStorage();
280
- const session = await getSession(request, storage);
281
- return (0, node_1.redirect)(redirectTo, {
282
- headers: {
283
- 'Set-Cookie': await sessionStorage.destroySession(session),
284
- },
285
- });
284
+ const sessionStorage = storage ?? getDefaultStorage();
285
+ const session = await getSession(request, storage);
286
+ return (0, node_1.redirect)(redirectTo, {
287
+ headers: {
288
+ 'Set-Cookie': await sessionStorage.destroySession(session),
289
+ },
290
+ });
286
291
  }
287
- //# sourceMappingURL=session.server.js.map
292
+ //# sourceMappingURL=session.server.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"session.server.js","sourceRoot":"","sources":["../../src/remix/session.server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"session.server.js","sourceRoot":"","sources":["../../src/remix/session.server.ts"],"names":[],"mappings":"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"}
package/lib/types.d.ts CHANGED
@@ -7,155 +7,189 @@
7
7
  * Cognito JWT payload structure from access token.
8
8
  */
9
9
  export interface CognitoAccessTokenPayload {
10
- /** User's unique identifier */
11
- sub: string;
12
- /** Cognito groups the user belongs to */
13
- 'cognito:groups'?: string[];
14
- /** Token use type */
15
- token_use: 'access';
16
- /** Token scopes */
17
- scope?: string;
18
- /** Issuer URL */
19
- iss: string;
20
- /** Expiration timestamp */
21
- exp: number;
22
- /** Issued at timestamp */
23
- iat: number;
24
- /** Client ID */
25
- client_id: string;
26
- /** Username */
27
- username: string;
10
+ /** User's unique identifier */
11
+ sub: string;
12
+ /** Cognito groups the user belongs to */
13
+ 'cognito:groups'?: string[];
14
+ /** Token use type */
15
+ token_use: 'access';
16
+ /** Token scopes */
17
+ scope?: string;
18
+ /** Issuer URL */
19
+ iss: string;
20
+ /** Expiration timestamp */
21
+ exp: number;
22
+ /** Issued at timestamp */
23
+ iat: number;
24
+ /** Client ID */
25
+ client_id: string;
26
+ /** Username */
27
+ username: string;
28
28
  }
29
29
  /**
30
30
  * Cognito JWT payload structure from ID token.
31
31
  */
32
32
  export interface CognitoIdTokenPayload {
33
- /** User's unique identifier */
34
- sub: string;
35
- /** User's email address */
36
- email?: string;
37
- /** Whether email is verified */
38
- email_verified?: boolean;
39
- /** Cognito groups the user belongs to */
40
- 'cognito:groups'?: string[];
41
- /** Cognito username */
42
- 'cognito:username'?: string;
43
- /** Token use type */
44
- token_use: 'id';
45
- /** Issuer URL */
46
- iss: string;
47
- /** Expiration timestamp */
48
- exp: number;
49
- /** Issued at timestamp */
50
- iat: number;
51
- /** Audience (client ID) */
52
- aud: string;
33
+ /** User's unique identifier */
34
+ sub: string;
35
+ /** User's email address */
36
+ email?: string;
37
+ /** Whether email is verified */
38
+ email_verified?: boolean;
39
+ /** Cognito groups the user belongs to */
40
+ 'cognito:groups'?: string[];
41
+ /** Cognito username */
42
+ 'cognito:username'?: string;
43
+ /** Token use type */
44
+ token_use: 'id';
45
+ /** Issuer URL */
46
+ iss: string;
47
+ /** Expiration timestamp */
48
+ exp: number;
49
+ /** Issued at timestamp */
50
+ iat: number;
51
+ /** Audience (client ID) */
52
+ aud: string;
53
53
  }
54
54
  /**
55
55
  * Configuration for JWT verification.
56
56
  */
57
57
  export interface JwtVerifierConfig {
58
- /** Cognito User Pool ID */
59
- userPoolId: string;
60
- /** Cognito Client ID */
61
- clientId: string;
62
- /** Token type to verify */
63
- tokenUse?: 'access' | 'id';
58
+ /** Cognito User Pool ID */
59
+ userPoolId: string;
60
+ /** Cognito Client ID */
61
+ clientId: string;
62
+ /** Token type to verify */
63
+ tokenUse?: 'access' | 'id';
64
64
  }
65
65
  /**
66
66
  * Configuration options for the auth middleware.
67
67
  */
68
68
  export interface CognitoAuthOptions {
69
- /** Cognito User Pool ID (defaults to COGNITO_USER_POOL_ID env var) */
70
- userPoolId?: string;
71
- /** Cognito Client ID (defaults to COGNITO_CLIENT_ID env var) */
72
- clientId?: string;
73
- /** Required roles (Cognito groups). User must have at least one. */
74
- roles?: string[];
75
- /** Paths to skip authentication for */
76
- skipPaths?: string[];
77
- /** Token type to verify */
78
- tokenUse?: 'access' | 'id';
69
+ /** Cognito User Pool ID (defaults to COGNITO_USER_POOL_ID env var) */
70
+ userPoolId?: string;
71
+ /** Cognito Client ID (defaults to COGNITO_CLIENT_ID env var) */
72
+ clientId?: string;
73
+ /** Required roles (Cognito groups). User must have at least one. */
74
+ roles?: string[];
75
+ /** Paths to skip authentication for */
76
+ skipPaths?: string[];
77
+ /** Token type to verify */
78
+ tokenUse?: 'access' | 'id';
79
79
  }
80
80
  /**
81
81
  * Result of successful token verification.
82
82
  */
83
83
  export interface TokenVerificationResult {
84
- /** User ID (sub claim) */
85
- userId: string;
86
- /** User email (from ID token or access token if present) */
87
- email?: string;
88
- /** User's Cognito groups */
89
- groups: string[];
90
- /** Raw token payload */
91
- payload: CognitoAccessTokenPayload | CognitoIdTokenPayload;
84
+ /** User ID (sub claim) */
85
+ userId: string;
86
+ /** User email (from ID token or access token if present) */
87
+ email?: string;
88
+ /** User's Cognito groups */
89
+ groups: string[];
90
+ /** Raw token payload */
91
+ payload: CognitoAccessTokenPayload | CognitoIdTokenPayload;
92
92
  }
93
93
  /**
94
94
  * Configuration for FndAuthClient.
95
95
  */
96
96
  export interface AuthClientConfig {
97
- /** Cognito User Pool ID */
98
- userPoolId: string;
99
- /** Cognito Client ID */
100
- clientId: string;
101
- /** AWS region (defaults to AWS_REGION env var) */
102
- region?: string;
97
+ /** Cognito User Pool ID */
98
+ userPoolId: string;
99
+ /** Cognito Client ID */
100
+ clientId: string;
101
+ /** AWS region (defaults to AWS_REGION env var) */
102
+ region?: string;
103
103
  }
104
104
  /**
105
105
  * Authentication tokens returned from Cognito.
106
106
  */
107
107
  export interface AuthTokens {
108
- /** JWT access token */
109
- accessToken: string;
110
- /** JWT ID token */
111
- idToken: string;
112
- /** Refresh token for obtaining new tokens */
113
- refreshToken: string;
114
- /** Token expiration in seconds */
115
- expiresIn: number;
108
+ /** JWT access token */
109
+ accessToken: string;
110
+ /** JWT ID token */
111
+ idToken: string;
112
+ /** Refresh token for obtaining new tokens */
113
+ refreshToken: string;
114
+ /** Token expiration in seconds */
115
+ expiresIn: number;
116
116
  }
117
117
  /**
118
118
  * Result of sign-up operation.
119
119
  */
120
120
  export interface SignUpResult {
121
- /** Whether user confirmation is required */
122
- userConfirmed: boolean;
123
- /** Delivery details for confirmation code (if applicable) */
124
- codeDeliveryDetails?: {
125
- /** Destination (masked email/phone) */
126
- destination?: string;
127
- /** Delivery medium */
128
- deliveryMedium?: 'EMAIL' | 'SMS';
129
- };
121
+ /** Whether user confirmation is required */
122
+ userConfirmed: boolean;
123
+ /** Delivery details for confirmation code (if applicable) */
124
+ codeDeliveryDetails?: {
125
+ /** Destination (masked email/phone) */
126
+ destination?: string;
127
+ /** Delivery medium */
128
+ deliveryMedium?: 'EMAIL' | 'SMS';
129
+ };
130
+ }
131
+ /**
132
+ * Challenge types that may be returned during sign-in.
133
+ */
134
+ export type AuthChallenge = 'NEW_PASSWORD_REQUIRED' | 'SMS_MFA' | 'SOFTWARE_TOKEN_MFA';
135
+ /**
136
+ * Result of sign-in operation.
137
+ *
138
+ * May return either tokens (successful auth) or a challenge (requires additional action).
139
+ */
140
+ export type SignInResult = {
141
+ success: true;
142
+ tokens: AuthTokens;
143
+ } | {
144
+ success: false;
145
+ challenge: AuthChallenge;
146
+ session: string;
147
+ email: string;
148
+ };
149
+ /**
150
+ * Result of forgot password initiation.
151
+ */
152
+ export interface ForgotPasswordResult {
153
+ /** Delivery details for reset code */
154
+ codeDeliveryDetails?: {
155
+ /** Destination (masked email/phone) */
156
+ destination?: string;
157
+ /** Delivery medium */
158
+ deliveryMedium?: 'EMAIL' | 'SMS';
159
+ };
130
160
  }
131
161
  /**
132
162
  * Session data stored in cookies.
163
+ *
164
+ * Note: accessToken and idToken are optional because they are not stored
165
+ * in the cookie session to stay under browser cookie size limits (~4KB).
166
+ * Use the refreshToken to obtain fresh tokens when needed for API calls.
133
167
  */
134
168
  export interface SessionData {
135
- /** JWT access token */
136
- accessToken: string;
137
- /** JWT ID token */
138
- idToken: string;
139
- /** Refresh token */
140
- refreshToken: string;
141
- /** Expiration timestamp (ms since epoch) */
142
- expiresAt: number;
143
- /** User ID (sub claim) */
144
- userId: string;
145
- /** User email */
146
- email: string;
147
- /** User's Cognito groups */
148
- groups: string[];
169
+ /** JWT access token (not stored in session, use refreshToken to obtain) */
170
+ accessToken?: string;
171
+ /** JWT ID token (not stored in session, use refreshToken to obtain) */
172
+ idToken?: string;
173
+ /** Refresh token */
174
+ refreshToken: string;
175
+ /** Expiration timestamp (ms since epoch) */
176
+ expiresAt: number;
177
+ /** User ID (sub claim) */
178
+ userId: string;
179
+ /** User email */
180
+ email: string;
181
+ /** User's Cognito groups */
182
+ groups: string[];
149
183
  }
150
184
  /**
151
185
  * User information extracted from session.
152
186
  */
153
187
  export interface SessionUser {
154
- /** User ID */
155
- userId: string;
156
- /** User email */
157
- email: string;
158
- /** User's groups/roles */
159
- groups: string[];
188
+ /** User ID */
189
+ userId: string;
190
+ /** User email */
191
+ email: string;
192
+ /** User's groups/roles */
193
+ groups: string[];
160
194
  }
161
- //# sourceMappingURL=types.d.ts.map
195
+ //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/lib/types.js CHANGED
@@ -1,8 +1,8 @@
1
- 'use strict';
1
+ "use strict";
2
2
  /**
3
3
  * Type definitions for cognito-auth middleware and utilities.
4
4
  *
5
5
  * @packageDocumentation
6
6
  */
7
- Object.defineProperty(exports, '__esModule', { value: true });
8
- //# sourceMappingURL=types.js.map
7
+ Object.defineProperty(exports, "__esModule", { value: true });
8
+ //# sourceMappingURL=types.js.map
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@fnd-platform/cognito-auth",
3
- "version": "1.0.0-alpha.1",
3
+ "version": "1.0.0-alpha.3",
4
4
  "description": "AWS Cognito authentication constructs and middleware for fnd-platform applications",
5
5
  "main": "lib/index.js",
6
6
  "types": "lib/index.d.ts",