@dotdo/oauth 0.1.1 → 0.1.2

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/dist/dev.d.ts ADDED
@@ -0,0 +1,110 @@
1
+ /**
2
+ * @dotdo/oauth - Development Mode & Test Helpers
3
+ *
4
+ * Provides a self-contained OAuth 2.1 server mode for testing:
5
+ * - Simple username/password authentication (no upstream provider)
6
+ * - Pre-seeded test users
7
+ * - Programmatic token creation for E2E tests
8
+ * - Login form UI
9
+ */
10
+ import type { OAuthUser } from './types';
11
+ import type { OAuthStorage } from './storage';
12
+ /**
13
+ * Test user configuration
14
+ */
15
+ export interface DevUser {
16
+ /** User ID */
17
+ id: string;
18
+ /** Email address (used as username) */
19
+ email: string;
20
+ /** Password for login */
21
+ password: string;
22
+ /** Display name */
23
+ name?: string;
24
+ /** Organization ID */
25
+ organizationId?: string;
26
+ /** User roles */
27
+ roles?: string[];
28
+ }
29
+ /**
30
+ * Development mode configuration
31
+ */
32
+ export interface DevModeConfig {
33
+ /** Enable dev mode (disables upstream OAuth) */
34
+ enabled: boolean;
35
+ /** Pre-configured test users */
36
+ users?: DevUser[];
37
+ /** Allow any email/password (creates user on the fly) */
38
+ allowAnyCredentials?: boolean;
39
+ /** Custom login page HTML */
40
+ customLoginPage?: string;
41
+ }
42
+ /**
43
+ * Test helpers for E2E testing with Playwright
44
+ */
45
+ export interface TestHelpers {
46
+ /**
47
+ * Create a test user
48
+ */
49
+ createUser(user: Omit<DevUser, 'password'> & {
50
+ password?: string;
51
+ }): Promise<OAuthUser>;
52
+ /**
53
+ * Get an access token directly (bypasses OAuth flow)
54
+ */
55
+ getAccessToken(userId: string, clientId: string, scope?: string): Promise<{
56
+ accessToken: string;
57
+ refreshToken: string;
58
+ expiresIn: number;
59
+ }>;
60
+ /**
61
+ * Get cookies for a user session (for Playwright)
62
+ */
63
+ getSessionCookies(userId: string): Promise<Array<{
64
+ name: string;
65
+ value: string;
66
+ domain?: string;
67
+ path?: string;
68
+ expires?: number;
69
+ httpOnly?: boolean;
70
+ secure?: boolean;
71
+ sameSite?: 'Strict' | 'Lax' | 'None';
72
+ }>>;
73
+ /**
74
+ * Create an authorization code (for testing token endpoint)
75
+ */
76
+ createAuthorizationCode(params: {
77
+ clientId: string;
78
+ userId: string;
79
+ redirectUri: string;
80
+ scope?: string;
81
+ codeChallenge: string;
82
+ }): Promise<string>;
83
+ /**
84
+ * Validate credentials
85
+ */
86
+ validateCredentials(email: string, password: string): Promise<DevUser | null>;
87
+ }
88
+ /**
89
+ * Create test helpers for a storage instance
90
+ */
91
+ export declare function createTestHelpers(storage: OAuthStorage, devUsers: Map<string, DevUser>, options: {
92
+ accessTokenTtl: number;
93
+ refreshTokenTtl: number;
94
+ authCodeTtl: number;
95
+ allowAnyCredentials?: boolean;
96
+ }): TestHelpers;
97
+ /**
98
+ * Generate a simple login form HTML
99
+ */
100
+ export declare function generateLoginFormHtml(options: {
101
+ issuer: string;
102
+ clientId: string;
103
+ redirectUri: string;
104
+ scope?: string;
105
+ state?: string;
106
+ codeChallenge: string;
107
+ codeChallengeMethod: string;
108
+ error?: string;
109
+ }): string;
110
+ //# sourceMappingURL=dev.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.d.ts","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"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"}
package/dist/dev.js ADDED
@@ -0,0 +1,283 @@
1
+ /**
2
+ * @dotdo/oauth - Development Mode & Test Helpers
3
+ *
4
+ * Provides a self-contained OAuth 2.1 server mode for testing:
5
+ * - Simple username/password authentication (no upstream provider)
6
+ * - Pre-seeded test users
7
+ * - Programmatic token creation for E2E tests
8
+ * - Login form UI
9
+ */
10
+ import { generateToken, generateAuthorizationCode } from './pkce';
11
+ /**
12
+ * Create test helpers for a storage instance
13
+ */
14
+ export function createTestHelpers(storage, devUsers, options) {
15
+ const { accessTokenTtl, refreshTokenTtl, authCodeTtl, allowAnyCredentials } = options;
16
+ return {
17
+ async createUser(userData) {
18
+ const user = {
19
+ id: userData.id,
20
+ email: userData.email,
21
+ name: userData.name,
22
+ organizationId: userData.organizationId,
23
+ roles: userData.roles,
24
+ createdAt: Date.now(),
25
+ updatedAt: Date.now(),
26
+ };
27
+ await storage.saveUser(user);
28
+ // Also add to dev users map if password provided
29
+ if (userData.password) {
30
+ devUsers.set(userData.email.toLowerCase(), {
31
+ ...userData,
32
+ password: userData.password,
33
+ });
34
+ }
35
+ return user;
36
+ },
37
+ async getAccessToken(userId, clientId, scope = 'openid profile email') {
38
+ const accessToken = generateToken(64);
39
+ const refreshToken = generateToken(64);
40
+ const now = Date.now();
41
+ const accessTokenObj = {
42
+ token: accessToken,
43
+ tokenType: 'Bearer',
44
+ userId,
45
+ clientId,
46
+ scope,
47
+ issuedAt: now,
48
+ expiresAt: now + accessTokenTtl * 1000,
49
+ };
50
+ const refreshTokenObj = {
51
+ token: refreshToken,
52
+ userId,
53
+ clientId,
54
+ scope,
55
+ issuedAt: now,
56
+ expiresAt: now + refreshTokenTtl * 1000,
57
+ };
58
+ await storage.saveAccessToken(accessTokenObj);
59
+ await storage.saveRefreshToken(refreshTokenObj);
60
+ return {
61
+ accessToken,
62
+ refreshToken,
63
+ expiresIn: accessTokenTtl,
64
+ };
65
+ },
66
+ async getSessionCookies(userId) {
67
+ // Create an access token and return it as a cookie
68
+ const { accessToken } = await this.getAccessToken(userId, 'test-client');
69
+ return [
70
+ {
71
+ name: 'oauth_access_token',
72
+ value: accessToken,
73
+ path: '/',
74
+ httpOnly: true,
75
+ secure: true,
76
+ sameSite: 'Lax',
77
+ expires: Date.now() / 1000 + accessTokenTtl,
78
+ },
79
+ ];
80
+ },
81
+ async createAuthorizationCode(params) {
82
+ const code = generateAuthorizationCode();
83
+ await storage.saveAuthorizationCode({
84
+ code,
85
+ clientId: params.clientId,
86
+ userId: params.userId,
87
+ redirectUri: params.redirectUri,
88
+ scope: params.scope,
89
+ codeChallenge: params.codeChallenge,
90
+ codeChallengeMethod: 'S256',
91
+ issuedAt: Date.now(),
92
+ expiresAt: Date.now() + authCodeTtl * 1000,
93
+ });
94
+ return code;
95
+ },
96
+ async validateCredentials(email, password) {
97
+ const user = devUsers.get(email.toLowerCase());
98
+ if (user && user.password === password) {
99
+ return user;
100
+ }
101
+ // If allowAnyCredentials is enabled, create a new user
102
+ if (allowAnyCredentials) {
103
+ const newUser = {
104
+ id: `dev_${generateToken(12)}`,
105
+ email,
106
+ password,
107
+ name: email.split('@')[0],
108
+ };
109
+ devUsers.set(email.toLowerCase(), newUser);
110
+ return newUser;
111
+ }
112
+ return null;
113
+ },
114
+ };
115
+ }
116
+ /**
117
+ * Generate a simple login form HTML
118
+ */
119
+ export function generateLoginFormHtml(options) {
120
+ const { issuer, clientId, redirectUri, scope, state, codeChallenge, codeChallengeMethod, error } = options;
121
+ return `<!DOCTYPE html>
122
+ <html lang="en">
123
+ <head>
124
+ <meta charset="UTF-8">
125
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
126
+ <title>Sign In - ${issuer}</title>
127
+ <style>
128
+ * { box-sizing: border-box; margin: 0; padding: 0; }
129
+ body {
130
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
131
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
132
+ min-height: 100vh;
133
+ display: flex;
134
+ align-items: center;
135
+ justify-content: center;
136
+ padding: 20px;
137
+ }
138
+ .container {
139
+ background: white;
140
+ border-radius: 16px;
141
+ padding: 40px;
142
+ width: 100%;
143
+ max-width: 400px;
144
+ box-shadow: 0 25px 50px -12px rgba(0, 0, 0, 0.25);
145
+ }
146
+ .logo {
147
+ text-align: center;
148
+ margin-bottom: 32px;
149
+ }
150
+ .logo h1 {
151
+ font-size: 24px;
152
+ color: #1a1a2e;
153
+ margin-bottom: 8px;
154
+ }
155
+ .logo p {
156
+ color: #666;
157
+ font-size: 14px;
158
+ }
159
+ .dev-badge {
160
+ display: inline-block;
161
+ background: #fef3c7;
162
+ color: #92400e;
163
+ padding: 4px 12px;
164
+ border-radius: 9999px;
165
+ font-size: 12px;
166
+ font-weight: 600;
167
+ margin-top: 12px;
168
+ }
169
+ .error {
170
+ background: #fee2e2;
171
+ border: 1px solid #fecaca;
172
+ color: #dc2626;
173
+ padding: 12px 16px;
174
+ border-radius: 8px;
175
+ margin-bottom: 24px;
176
+ font-size: 14px;
177
+ }
178
+ .form-group {
179
+ margin-bottom: 20px;
180
+ }
181
+ label {
182
+ display: block;
183
+ font-size: 14px;
184
+ font-weight: 500;
185
+ color: #374151;
186
+ margin-bottom: 6px;
187
+ }
188
+ input[type="email"],
189
+ input[type="password"] {
190
+ width: 100%;
191
+ padding: 12px 16px;
192
+ border: 1px solid #d1d5db;
193
+ border-radius: 8px;
194
+ font-size: 16px;
195
+ transition: border-color 0.2s, box-shadow 0.2s;
196
+ }
197
+ input:focus {
198
+ outline: none;
199
+ border-color: #667eea;
200
+ box-shadow: 0 0 0 3px rgba(102, 126, 234, 0.1);
201
+ }
202
+ button {
203
+ width: 100%;
204
+ padding: 14px 24px;
205
+ background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
206
+ color: white;
207
+ border: none;
208
+ border-radius: 8px;
209
+ font-size: 16px;
210
+ font-weight: 600;
211
+ cursor: pointer;
212
+ transition: transform 0.2s, box-shadow 0.2s;
213
+ }
214
+ button:hover {
215
+ transform: translateY(-1px);
216
+ box-shadow: 0 10px 20px -10px rgba(102, 126, 234, 0.5);
217
+ }
218
+ button:active {
219
+ transform: translateY(0);
220
+ }
221
+ .footer {
222
+ text-align: center;
223
+ margin-top: 24px;
224
+ color: #9ca3af;
225
+ font-size: 12px;
226
+ }
227
+ .client-info {
228
+ background: #f3f4f6;
229
+ border-radius: 8px;
230
+ padding: 12px 16px;
231
+ margin-bottom: 24px;
232
+ font-size: 13px;
233
+ color: #4b5563;
234
+ }
235
+ .client-info strong {
236
+ color: #1f2937;
237
+ }
238
+ </style>
239
+ </head>
240
+ <body>
241
+ <div class="container">
242
+ <div class="logo">
243
+ <h1>Sign In</h1>
244
+ <p>${issuer}</p>
245
+ <span class="dev-badge">Development Mode</span>
246
+ </div>
247
+
248
+ ${error ? `<div class="error">${error}</div>` : ''}
249
+
250
+ <div class="client-info">
251
+ Signing in to <strong>${clientId}</strong>
252
+ </div>
253
+
254
+ <form method="POST" action="/login">
255
+ <input type="hidden" name="client_id" value="${clientId}">
256
+ <input type="hidden" name="redirect_uri" value="${redirectUri}">
257
+ <input type="hidden" name="scope" value="${scope || ''}">
258
+ <input type="hidden" name="state" value="${state || ''}">
259
+ <input type="hidden" name="code_challenge" value="${codeChallenge}">
260
+ <input type="hidden" name="code_challenge_method" value="${codeChallengeMethod}">
261
+
262
+ <div class="form-group">
263
+ <label for="email">Email</label>
264
+ <input type="email" id="email" name="email" required autofocus placeholder="test@example.com">
265
+ </div>
266
+
267
+ <div class="form-group">
268
+ <label for="password">Password</label>
269
+ <input type="password" id="password" name="password" required placeholder="Enter password">
270
+ </div>
271
+
272
+ <button type="submit">Sign In</button>
273
+ </form>
274
+
275
+ <div class="footer">
276
+ <p>This is a development server for testing.</p>
277
+ <p>Do not use real credentials.</p>
278
+ </div>
279
+ </div>
280
+ </body>
281
+ </html>`;
282
+ }
283
+ //# sourceMappingURL=dev.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"dev.js","sourceRoot":"","sources":["../src/dev.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts CHANGED
@@ -40,7 +40,9 @@
40
40
  * @packageDocumentation
41
41
  */
42
42
  export { createOAuth21Server } from './server';
43
- export type { OAuth21ServerConfig } from './server';
43
+ export type { OAuth21ServerConfig, OAuth21Server } from './server';
44
+ export { createTestHelpers, generateLoginFormHtml } from './dev';
45
+ export type { DevModeConfig, DevUser, TestHelpers } from './dev';
44
46
  export { MemoryOAuthStorage } from './storage';
45
47
  export type { OAuthStorage, ListOptions } from './storage';
46
48
  export { generateCodeVerifier, generateCodeChallenge, verifyCodeChallenge, generatePkce, generateState, generateToken, generateAuthorizationCode, hashClientSecret, verifyClientSecret, base64UrlEncode, base64UrlDecode, constantTimeEqual, } from './pkce';
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9C,YAAY,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAGnD,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAG1D,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,iBAAiB,GAClB,MAAM,QAAQ,CAAA;AAGf,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,mBAAmB,GACpB,MAAM,SAAS,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAGH,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAC9C,YAAY,EAAE,mBAAmB,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGlE,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAChE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,WAAW,EAAE,MAAM,OAAO,CAAA;AAGhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAC9C,YAAY,EAAE,YAAY,EAAE,WAAW,EAAE,MAAM,WAAW,CAAA;AAG1D,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,iBAAiB,GAClB,MAAM,QAAQ,CAAA;AAGf,YAAY,EACV,SAAS,EACT,iBAAiB,EACjB,WAAW,EACX,sBAAsB,EACtB,gBAAgB,EAChB,iBAAiB,EACjB,UAAU,EACV,mBAAmB,EACnB,qBAAqB,EACrB,aAAa,EACb,UAAU,EACV,mBAAmB,GACpB,MAAM,SAAS,CAAA"}
package/dist/index.js CHANGED
@@ -41,6 +41,8 @@
41
41
  */
42
42
  // Server
43
43
  export { createOAuth21Server } from './server';
44
+ // Dev Mode & Test Helpers
45
+ export { createTestHelpers, generateLoginFormHtml } from './dev';
44
46
  // Storage
45
47
  export { MemoryOAuthStorage } from './storage';
46
48
  // PKCE
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,SAAS;AACT,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAG9C,UAAU;AACV,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAG9C,OAAO;AACP,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,iBAAiB,GAClB,MAAM,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AAEH,SAAS;AACT,OAAO,EAAE,mBAAmB,EAAE,MAAM,UAAU,CAAA;AAG9C,0BAA0B;AAC1B,OAAO,EAAE,iBAAiB,EAAE,qBAAqB,EAAE,MAAM,OAAO,CAAA;AAGhE,UAAU;AACV,OAAO,EAAE,kBAAkB,EAAE,MAAM,WAAW,CAAA;AAG9C,OAAO;AACP,OAAO,EACL,oBAAoB,EACpB,qBAAqB,EACrB,mBAAmB,EACnB,YAAY,EACZ,aAAa,EACb,aAAa,EACb,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,eAAe,EACf,eAAe,EACf,iBAAiB,GAClB,MAAM,QAAQ,CAAA"}
package/dist/server.d.ts CHANGED
@@ -17,6 +17,7 @@
17
17
  import { Hono } from 'hono';
18
18
  import type { OAuthStorage } from './storage';
19
19
  import type { OAuthUser, UpstreamOAuthConfig } from './types';
20
+ import { type DevModeConfig, type TestHelpers } from './dev';
20
21
  /**
21
22
  * Configuration for the OAuth 2.1 server
22
23
  */
@@ -25,8 +26,10 @@ export interface OAuth21ServerConfig {
25
26
  issuer: string;
26
27
  /** Storage backend for users, clients, tokens */
27
28
  storage: OAuthStorage;
28
- /** Upstream OAuth provider configuration */
29
- upstream: UpstreamOAuthConfig;
29
+ /** Upstream OAuth provider configuration (optional if devMode enabled) */
30
+ upstream?: UpstreamOAuthConfig;
31
+ /** Development mode configuration (no upstream provider needed) */
32
+ devMode?: DevModeConfig;
30
33
  /** Supported scopes */
31
34
  scopes?: string[];
32
35
  /** Access token lifetime in seconds (default: 3600) */
@@ -42,6 +45,13 @@ export interface OAuth21ServerConfig {
42
45
  /** Enable debug logging */
43
46
  debug?: boolean;
44
47
  }
48
+ /**
49
+ * Extended Hono app with test helpers
50
+ */
51
+ export interface OAuth21Server extends Hono {
52
+ /** Test helpers for E2E testing (only available in devMode) */
53
+ testHelpers?: TestHelpers;
54
+ }
45
55
  /**
46
56
  * Create an OAuth 2.1 server as a Hono app
47
57
  *
@@ -62,6 +72,24 @@ export interface OAuth21ServerConfig {
62
72
  * // Mount on your main app
63
73
  * app.route('/', oauthServer)
64
74
  * ```
75
+ *
76
+ * @example Development mode (no upstream provider)
77
+ * ```typescript
78
+ * const oauthServer = createOAuth21Server({
79
+ * issuer: 'https://test.mcp.do',
80
+ * storage: new MemoryOAuthStorage(),
81
+ * devMode: {
82
+ * enabled: true,
83
+ * users: [
84
+ * { id: 'test-user', email: 'test@example.com', password: 'test123' }
85
+ * ],
86
+ * allowAnyCredentials: true, // Create users on the fly
87
+ * },
88
+ * })
89
+ *
90
+ * // Access test helpers for Playwright
91
+ * const { accessToken } = await oauthServer.testHelpers.getAccessToken('user-id', 'client-id')
92
+ * ```
65
93
  */
66
- export declare function createOAuth21Server(config: OAuth21ServerConfig): Hono;
94
+ export declare function createOAuth21Server(config: OAuth21ServerConfig): OAuth21Server;
67
95
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAIV,SAAS,EAGT,mBAAmB,EACpB,MAAM,SAAS,CAAA;AAShB;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,OAAO,EAAE,YAAY,CAAA;IACrB,4CAA4C;IAC5C,QAAQ,EAAE,mBAAmB,CAAA;IAC7B,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,yCAAyC;IACzC,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;;;;;;;;;;;;;;;;;;;GAoBG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,IAAI,CAuXrE"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,IAAI,EAAE,MAAM,MAAM,CAAA;AAE3B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,WAAW,CAAA;AAC7C,OAAO,KAAK,EAIV,SAAS,EAGT,mBAAmB,EACpB,MAAM,SAAS,CAAA;AAQhB,OAAO,EACL,KAAK,aAAa,EAElB,KAAK,WAAW,EAGjB,MAAM,OAAO,CAAA;AAEd;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,+CAA+C;IAC/C,MAAM,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,OAAO,EAAE,YAAY,CAAA;IACrB,0EAA0E;IAC1E,QAAQ,CAAC,EAAE,mBAAmB,CAAA;IAC9B,mEAAmE;IACnE,OAAO,CAAC,EAAE,aAAa,CAAA;IACvB,uBAAuB;IACvB,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;IACjB,uDAAuD;IACvD,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB,qEAAqE;IACrE,eAAe,CAAC,EAAE,MAAM,CAAA;IACxB,yEAAyE;IACzE,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,yCAAyC;IACzC,yBAAyB,CAAC,EAAE,OAAO,CAAA;IACnC,oDAAoD;IACpD,mBAAmB,CAAC,EAAE,CAAC,IAAI,EAAE,SAAS,KAAK,IAAI,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IAC/D,2BAA2B;IAC3B,KAAK,CAAC,EAAE,OAAO,CAAA;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI;IACzC,+DAA+D;IAC/D,WAAW,CAAC,EAAE,WAAW,CAAA;CAC1B;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAsCG;AACH,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,aAAa,CA2gB9E"}
package/dist/server.js CHANGED
@@ -17,6 +17,7 @@
17
17
  import { Hono } from 'hono';
18
18
  import { cors } from 'hono/cors';
19
19
  import { generateAuthorizationCode, generateToken, generateState, verifyCodeChallenge, hashClientSecret, } from './pkce';
20
+ import { createTestHelpers, generateLoginFormHtml, } from './dev';
20
21
  /**
21
22
  * Create an OAuth 2.1 server as a Hono app
22
23
  *
@@ -37,10 +38,49 @@ import { generateAuthorizationCode, generateToken, generateState, verifyCodeChal
37
38
  * // Mount on your main app
38
39
  * app.route('/', oauthServer)
39
40
  * ```
41
+ *
42
+ * @example Development mode (no upstream provider)
43
+ * ```typescript
44
+ * const oauthServer = createOAuth21Server({
45
+ * issuer: 'https://test.mcp.do',
46
+ * storage: new MemoryOAuthStorage(),
47
+ * devMode: {
48
+ * enabled: true,
49
+ * users: [
50
+ * { id: 'test-user', email: 'test@example.com', password: 'test123' }
51
+ * ],
52
+ * allowAnyCredentials: true, // Create users on the fly
53
+ * },
54
+ * })
55
+ *
56
+ * // Access test helpers for Playwright
57
+ * const { accessToken } = await oauthServer.testHelpers.getAccessToken('user-id', 'client-id')
58
+ * ```
40
59
  */
41
60
  export function createOAuth21Server(config) {
42
- const { issuer, storage, upstream, scopes = ['openid', 'profile', 'email', 'offline_access'], accessTokenTtl = 3600, refreshTokenTtl = 2592000, authCodeTtl = 600, enableDynamicRegistration = true, onUserAuthenticated, debug = false, } = config;
61
+ const { issuer, storage, upstream, devMode, scopes = ['openid', 'profile', 'email', 'offline_access'], accessTokenTtl = 3600, refreshTokenTtl = 2592000, authCodeTtl = 600, enableDynamicRegistration = true, onUserAuthenticated, debug = false, } = config;
62
+ // Validate configuration
63
+ if (!devMode?.enabled && !upstream) {
64
+ throw new Error('Either upstream configuration or devMode must be provided');
65
+ }
43
66
  const app = new Hono();
67
+ // Dev mode user storage
68
+ const devUsers = new Map();
69
+ // Initialize dev users
70
+ if (devMode?.enabled && devMode.users) {
71
+ for (const user of devMode.users) {
72
+ devUsers.set(user.email.toLowerCase(), user);
73
+ }
74
+ }
75
+ // Create test helpers if in dev mode
76
+ if (devMode?.enabled) {
77
+ app.testHelpers = createTestHelpers(storage, devUsers, {
78
+ accessTokenTtl,
79
+ refreshTokenTtl,
80
+ authCodeTtl,
81
+ allowAnyCredentials: devMode.allowAnyCredentials,
82
+ });
83
+ }
44
84
  // CORS for all endpoints
45
85
  app.use('*', cors({
46
86
  origin: '*',
@@ -137,6 +177,23 @@ export function createOAuth21Server(config) {
137
177
  if (codeChallengeMethod !== 'S256') {
138
178
  return redirectWithError(redirectUri, 'invalid_request', 'code_challenge_method must be S256', state);
139
179
  }
180
+ // Dev mode: show login form instead of redirecting to upstream
181
+ if (devMode?.enabled) {
182
+ const html = devMode.customLoginPage || generateLoginFormHtml({
183
+ issuer,
184
+ clientId,
185
+ redirectUri,
186
+ scope,
187
+ state,
188
+ codeChallenge,
189
+ codeChallengeMethod,
190
+ });
191
+ return c.html(html);
192
+ }
193
+ // Production mode: redirect to upstream
194
+ if (!upstream) {
195
+ return c.json({ error: 'server_error', error_description: 'No upstream provider configured' }, 500);
196
+ }
140
197
  // Store the authorization request and redirect to upstream
141
198
  const upstreamState = generateState(64);
142
199
  // Store pending auth as a temporary authorization code that will be replaced
@@ -163,6 +220,92 @@ export function createOAuth21Server(config) {
163
220
  }
164
221
  return c.redirect(upstreamAuthUrl);
165
222
  });
223
+ // ═══════════════════════════════════════════════════════════════════════════
224
+ // Dev Mode Login Endpoint
225
+ // ═══════════════════════════════════════════════════════════════════════════
226
+ /**
227
+ * Login form submission (dev mode only)
228
+ */
229
+ app.post('/login', async (c) => {
230
+ if (!devMode?.enabled) {
231
+ return c.json({ error: 'invalid_request', error_description: 'Dev mode is not enabled' }, 400);
232
+ }
233
+ const formData = await c.req.parseBody();
234
+ const email = String(formData.email || '');
235
+ const password = String(formData.password || '');
236
+ const clientId = String(formData.client_id || '');
237
+ const redirectUri = String(formData.redirect_uri || '');
238
+ const scope = String(formData.scope || '');
239
+ const state = String(formData.state || '');
240
+ const codeChallenge = String(formData.code_challenge || '');
241
+ const codeChallengeMethod = String(formData.code_challenge_method || 'S256');
242
+ if (debug) {
243
+ console.log('[OAuth] Dev login attempt:', { email, clientId });
244
+ }
245
+ // Validate credentials
246
+ const devUser = await app.testHelpers.validateCredentials(email, password);
247
+ if (!devUser) {
248
+ const html = generateLoginFormHtml({
249
+ issuer,
250
+ clientId,
251
+ redirectUri,
252
+ scope,
253
+ state,
254
+ codeChallenge,
255
+ codeChallengeMethod,
256
+ error: 'Invalid email or password',
257
+ });
258
+ return c.html(html, 401);
259
+ }
260
+ // Get or create user in storage
261
+ let user = await storage.getUserByEmail(devUser.email);
262
+ if (!user) {
263
+ user = {
264
+ id: devUser.id,
265
+ email: devUser.email,
266
+ name: devUser.name,
267
+ organizationId: devUser.organizationId,
268
+ roles: devUser.roles,
269
+ createdAt: Date.now(),
270
+ updatedAt: Date.now(),
271
+ lastLoginAt: Date.now(),
272
+ };
273
+ await storage.saveUser(user);
274
+ }
275
+ else {
276
+ user.lastLoginAt = Date.now();
277
+ user.updatedAt = Date.now();
278
+ await storage.saveUser(user);
279
+ }
280
+ await onUserAuthenticated?.(user);
281
+ // Generate authorization code
282
+ const authCode = generateAuthorizationCode();
283
+ await storage.saveAuthorizationCode({
284
+ code: authCode,
285
+ clientId,
286
+ userId: user.id,
287
+ redirectUri,
288
+ scope,
289
+ codeChallenge,
290
+ codeChallengeMethod: 'S256',
291
+ state,
292
+ issuedAt: Date.now(),
293
+ expiresAt: Date.now() + authCodeTtl * 1000,
294
+ });
295
+ // Redirect back to client with code
296
+ const redirectUrl = new URL(redirectUri);
297
+ redirectUrl.searchParams.set('code', authCode);
298
+ if (state) {
299
+ redirectUrl.searchParams.set('state', state);
300
+ }
301
+ if (debug) {
302
+ console.log('[OAuth] Dev login successful, redirecting to:', redirectUrl.toString());
303
+ }
304
+ return c.redirect(redirectUrl.toString());
305
+ });
306
+ // ═══════════════════════════════════════════════════════════════════════════
307
+ // Upstream OAuth Callback
308
+ // ═══════════════════════════════════════════════════════════════════════════
166
309
  /**
167
310
  * Callback from upstream OAuth provider
168
311
  */
@@ -190,6 +333,10 @@ export function createOAuth21Server(config) {
190
333
  if (!pendingAuth) {
191
334
  return c.json({ error: 'invalid_request', error_description: 'Invalid or expired state' }, 400);
192
335
  }
336
+ // In dev mode, callback shouldn't be used (login handles it directly)
337
+ if (!upstream) {
338
+ return c.json({ error: 'server_error', error_description: 'No upstream provider configured' }, 500);
339
+ }
193
340
  try {
194
341
  // Exchange code with upstream provider
195
342
  const upstreamTokens = await exchangeUpstreamCode(upstream, code, `${issuer}/callback`);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@dotdo/oauth",
3
- "version": "0.1.1",
3
+ "version": "0.1.2",
4
4
  "description": "OAuth 2.1 server implementation for MCP - the leaf package with zero dependencies on @dotdo/do or oauth.do",
5
5
  "type": "module",
6
6
  "main": "./dist/index.js",