@mavenmm/teamwork-auth 2.0.0 → 2.0.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.
@@ -1,9 +1,9 @@
1
1
  import { User } from "../types";
2
2
  export interface TeamworkAuthConfig {
3
- authServiceUrl: string;
3
+ authServiceUrl?: string;
4
4
  cookieDomain?: string;
5
5
  }
6
- export declare function useTeamworkAuth(config: TeamworkAuthConfig): {
6
+ export declare function useTeamworkAuth(config?: TeamworkAuthConfig): {
7
7
  user: User | null;
8
8
  setUser: import("react").Dispatch<import("react").SetStateAction<User | null>>;
9
9
  loading: boolean;
@@ -12,5 +12,7 @@ export declare function useTeamworkAuth(config: TeamworkAuthConfig): {
12
12
  twUser: any;
13
13
  }>;
14
14
  logout: () => Promise<void>;
15
+ error: string | null;
16
+ authServiceUrl: string;
15
17
  };
16
18
  //# sourceMappingURL=useTeamworkAuth.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"useTeamworkAuth.d.ts","sourceRoot":"","sources":["../../src/hooks/useTeamworkAuth.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,IAAI,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,eAAe,CAAC,MAAM,EAAE,kBAAkB;;;;;kBAa7B,MAAM;;;;EAyMlC"}
1
+ {"version":3,"file":"useTeamworkAuth.d.ts","sourceRoot":"","sources":["../../src/hooks/useTeamworkAuth.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,IAAI,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAyCD,wBAAgB,eAAe,CAAC,MAAM,GAAE,kBAAuB;;;;;kBAUlC,MAAM;;;;;;EA4NlC"}
package/dist/index.esm.js CHANGED
@@ -31,14 +31,44 @@ if (typeof Buffer === "undefined") {
31
31
  }
32
32
  }
33
33
 
34
- function useTeamworkAuth(config) {
35
- if (!config.authServiceUrl) {
36
- throw new Error('TeamworkAuth: authServiceUrl is required. Please provide the URL of your auth service (e.g., "https://auth.yourcompany.com")');
34
+ /**
35
+ * Auto-detect the auth service URL based on environment
36
+ */
37
+ function detectAuthServiceUrl() {
38
+ const hostname = window.location.hostname;
39
+ // Production: *.mavenmm.com domains use centralized auth service
40
+ if (hostname.endsWith('.mavenmm.com') || hostname === 'mavenmm.com') {
41
+ return 'https://auth.mavenmm.com';
37
42
  }
38
- const authServiceUrl = config.authServiceUrl;
43
+ // Development: localhost uses local auth service on port 9100
44
+ if (hostname === 'localhost' || hostname === '127.0.0.1') {
45
+ return 'http://localhost:9100';
46
+ }
47
+ // Fallback for unknown environments
48
+ console.warn(`TeamworkAuth: Unknown hostname "${hostname}". Defaulting to localhost:9100. ` +
49
+ 'Please provide authServiceUrl explicitly if this is incorrect.');
50
+ return 'http://localhost:9100';
51
+ }
52
+ /**
53
+ * Auto-detect cookie domain based on hostname
54
+ */
55
+ function detectCookieDomain() {
56
+ const hostname = window.location.hostname;
57
+ // Production: use .mavenmm.com for cross-subdomain cookies
58
+ if (hostname.endsWith('.mavenmm.com') || hostname === 'mavenmm.com') {
59
+ return '.mavenmm.com';
60
+ }
61
+ // Development: localhost doesn't need explicit cookie domain
62
+ return undefined;
63
+ }
64
+ function useTeamworkAuth(config = {}) {
65
+ // Auto-detect auth service URL if not provided
66
+ const authServiceUrl = config.authServiceUrl || detectAuthServiceUrl();
67
+ const cookieDomain = config.cookieDomain ?? detectCookieDomain();
39
68
  const [user, setUser] = useState(null);
40
69
  const [loading, setLoading] = useState(true);
41
70
  const [isAuthenticated, setIsAuthenticated] = useState(false);
71
+ const [error, setError] = useState(null);
42
72
  const login = async (code) => {
43
73
  try {
44
74
  const options = {
@@ -118,8 +148,8 @@ function useTeamworkAuth(config) {
118
148
  document.cookie =
119
149
  "maven_auth_token=; path=/; expires=Thu, 01 Jan 1970 00:00:00 GMT";
120
150
  // For non-localhost environments, also clear with configured domain
121
- if (window.location.hostname !== "localhost" && config.cookieDomain) {
122
- document.cookie = `maven_auth_token=; path=/; domain=${config.cookieDomain}; expires=Thu, 01 Jan 1970 00:00:00 GMT`;
151
+ if (window.location.hostname !== "localhost" && cookieDomain) {
152
+ document.cookie = `maven_auth_token=; path=/; domain=${cookieDomain}; expires=Thu, 01 Jan 1970 00:00:00 GMT`;
123
153
  }
124
154
  }
125
155
  catch (error) {
@@ -207,10 +237,26 @@ function useTeamworkAuth(config) {
207
237
  localStorage.removeItem("maven_sso_user");
208
238
  }
209
239
  }
210
- catch (error) {
240
+ catch (err) {
211
241
  setIsAuthenticated(false);
212
242
  setUser(null);
213
243
  localStorage.removeItem("maven_sso_user");
244
+ // Check if this is a connection error (auth service not reachable)
245
+ const isConnectionError = err instanceof TypeError && err.message.includes('fetch');
246
+ if (isConnectionError && authServiceUrl.includes('localhost:9100')) {
247
+ const errorMessage = '⚠️ Auth service not running on localhost:9100\n\n' +
248
+ 'To start the auth service:\n' +
249
+ ' cd auth-service/\n' +
250
+ ' npm run dev\n\n' +
251
+ 'Or provide a custom authServiceUrl in the config.';
252
+ setError(errorMessage);
253
+ console.error(errorMessage);
254
+ }
255
+ else if (isConnectionError) {
256
+ const errorMessage = `⚠️ Cannot connect to auth service at ${authServiceUrl}`;
257
+ setError(errorMessage);
258
+ console.error(errorMessage);
259
+ }
214
260
  }
215
261
  finally {
216
262
  setLoading(false);
@@ -219,7 +265,7 @@ function useTeamworkAuth(config) {
219
265
  // Always validate with server - httpOnly cookies are handled automatically by browser
220
266
  checkAuth();
221
267
  }, [authServiceUrl]); // Add authServiceUrl as dependency
222
- return { user, setUser, loading, isAuthenticated, login, logout };
268
+ return { user, setUser, loading, isAuthenticated, login, logout, error, authServiceUrl };
223
269
  }
224
270
 
225
271
  function Login({ clientID, redirectURI, clientSecret } = {}) {
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.js","sources":["../src/utils/polyfills.ts","../src/hooks/useTeamworkAuth.ts","../src/components/Login.tsx","../src/providers/AuthProvider.tsx"],"sourcesContent":[null,null,null,null],"names":["_jsxs","_jsx"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.js","sources":["../src/utils/polyfills.ts","../src/hooks/useTeamworkAuth.ts","../src/components/Login.tsx","../src/providers/AuthProvider.tsx"],"sourcesContent":[null,null,null,null],"names":["_jsxs","_jsx"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@mavenmm/teamwork-auth",
3
- "version": "2.0.0",
3
+ "version": "2.0.2",
4
4
  "description": "Centralized Teamwork SSO authentication system for React applications with zero backend code required",
5
5
  "type": "module",
6
6
  "main": "dist/index.esm.js",
@@ -26,23 +26,18 @@
26
26
  "test:watch": "jest --watch",
27
27
  "type-check": "tsc --noEmit",
28
28
  "prepare": "npm run build",
29
- "prepublishOnly": "npm run type-check && npm run build",
30
- "test:local": "npm run build && concurrently \"npm run test:auth-service\" \"npm run test:app\"",
31
- "test:auth-service": "cd auth-service && npm install && npm run dev",
32
- "test:app": "cd test-app && npm install && npm run dev",
33
- "test:setup": "npm run build && cd test-app && npm install"
29
+ "prepublishOnly": "npm run type-check && npm run build"
34
30
  },
35
31
  "keywords": [
36
- "maven-marketing",
32
+ "teamwork",
37
33
  "sso",
38
34
  "authentication",
39
35
  "react",
40
36
  "netlify",
41
- "teamwork",
42
37
  "oauth",
43
38
  "typescript"
44
39
  ],
45
- "author": "Maven Marketing",
40
+ "author": "",
46
41
  "license": "ISC",
47
42
  "publishConfig": {
48
43
  "access": "public"
package/CHANGELOG.md DELETED
@@ -1,55 +0,0 @@
1
- # Changelog
2
-
3
- All notable changes to this project will be documented in this file.
4
-
5
- The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
- and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
-
8
- ## [Unreleased]
9
-
10
- ### Added
11
- - Initial project setup
12
- - TypeScript configuration
13
- - React SSO Provider component
14
- - Authentication hooks and utilities
15
- - Netlify Functions helpers
16
- - Comprehensive documentation
17
-
18
- ## [1.0.0] - 2024-01-XX
19
-
20
- ### Added
21
- - 🎉 Initial release of Maven Marketing SSO package
22
- - 🔐 Teamwork OAuth integration
23
- - ⚛️ React Provider pattern for auth state management
24
- - 🌐 Netlify Functions support for serverless backend
25
- - 🔒 Full TypeScript support with type definitions
26
- - 🎯 Role-based access control
27
- - 🔄 Automatic token refresh functionality
28
- - 📱 Ready-to-use authentication components
29
- - 🛡️ Secure token storage with fallback mechanisms
30
- - 📚 Comprehensive documentation and examples
31
-
32
- ### Components
33
- - `SSOProvider` - Main authentication provider
34
- - `LoginButton` - Customizable login button
35
- - `LogoutButton` - Logout functionality
36
- - `ProtectedRoute` - Route protection with role/permission checks
37
-
38
- ### Hooks
39
- - `useAuth` - Main authentication hook
40
- - `useSSOContext` - Direct context access
41
-
42
- ### Utilities
43
- - `createSSOClient` - SSO client factory
44
- - `createAuthHandler` - Netlify auth handler
45
- - `createCallbackHandler` - OAuth callback handler
46
- - `createTokenRefreshHandler` - Token refresh handler
47
-
48
- ### Security Features
49
- - Secure cookie storage with localStorage fallback
50
- - CORS handling for Netlify Functions
51
- - Token expiration management
52
- - Automatic token refresh
53
-
54
- [Unreleased]: https://github.com/your-username/mavenmm-tw-netlify-react-sso/compare/v1.0.0...HEAD
55
- [1.0.0]: https://github.com/your-username/mavenmm-tw-netlify-react-sso/releases/tag/v1.0.0
package/README.md DELETED
@@ -1,403 +0,0 @@
1
- # Teamwork Auth 🚀 v2.0
2
-
3
- A centralized React package for Teamwork authentication using an external auth service. **No more copying auth logic between apps!**
4
-
5
- ## Architecture (v2.0) - Centralized SSO System
6
-
7
- ```mermaid
8
- graph TB
9
- A[app1.mavenmm.com] --> D[auth.mavenmm.com]
10
- B[admin.mavenmm.com] --> D
11
- C[dashboard.mavenmm.com] --> D
12
- D --> E[Teamwork API]
13
-
14
- A -.->|Shared Cookies| B
15
- B -.->|Shared Cookies| C
16
- A -.->|Shared Cookies| C
17
- ```
18
-
19
- ### Components:
20
- 1. **Frontend Package** (`@mavenmm/teamwork-auth`): React components and hooks for any Maven app
21
- 2. **Centralized Auth Service** (`auth.mavenmm.com`): Handles all authentication logic and Teamwork API communication
22
- 3. **Maven Apps** (`*.mavenmm.com`): Your applications that need authentication
23
-
24
- ### Benefits:
25
- - **🔒 Security**: Teamwork API tokens isolated to auth service only
26
- - **🚀 Zero Backend**: Apps just install npm package - no server code needed
27
- - **🌐 SSO**: Login once, authenticated across all `*.mavenmm.com` apps
28
- - **🔧 Maintainable**: Update auth logic in one place for all apps
29
- - **⚡ Fast Setup**: New apps get auth in minutes, not hours
30
-
31
- ## Installation
32
-
33
- ```bash
34
- npm install @mavenmm/teamwork-auth @teamwork/login-button react-router-dom
35
- ```
36
-
37
- ## Available Exports
38
-
39
- ```tsx
40
- // React Components & Hooks (v2.0 - Centralized Auth Service)
41
- import {
42
- AuthProvider,
43
- useAuthContext,
44
- useTeamworkAuth,
45
- Login,
46
- type TeamworkAuthConfig
47
- } from '@mavenmm/teamwork-auth';
48
- ```
49
-
50
- **Requirements:**
51
- - React Router DOM v6+ (peer dependency)
52
- - External auth service running at `auth.mavenmm.com`
53
-
54
- ## Quick Start (v2.0 - External Auth Service)
55
-
56
- ### 1. Using the hook directly (Recommended)
57
- ```tsx
58
- import React from 'react';
59
- import { useTeamworkAuth, Login, type TeamworkAuthConfig } from '@mavenmm/teamwork-auth';
60
-
61
- const authConfig: TeamworkAuthConfig = {
62
- authServiceUrl: 'https://auth.mavenmm.com',
63
- cookieDomain: '.mavenmm.com'
64
- };
65
-
66
- function App() {
67
- const { user, loading, isAuthenticated, logout } = useTeamworkAuth(authConfig);
68
-
69
- if (loading) {
70
- return <div>Loading...</div>;
71
- }
72
-
73
- if (!isAuthenticated) {
74
- return <Login />;
75
- }
76
-
77
- return (
78
- <div>
79
- <h1>Welcome, {user?.firstName}!</h1>
80
- <button onClick={logout}>Logout</button>
81
- </div>
82
- );
83
- }
84
- ```
85
-
86
- ### 2. Using AuthProvider (Alternative)
87
- ```tsx
88
- import React from 'react';
89
- import { BrowserRouter, Routes, Route } from 'react-router-dom';
90
- import { AuthProvider, useAuthContext } from '@mavenmm/teamwork-auth';
91
-
92
- function App() {
93
- return (
94
- <BrowserRouter>
95
- <Routes>
96
- <Route path="/*" element={<AuthenticatedApp />} />
97
- </Routes>
98
- </BrowserRouter>
99
- );
100
- }
101
-
102
- // AuthProvider must be inside Router context (inside a Route element)
103
- function AuthenticatedApp() {
104
- return (
105
- <AuthProvider authServiceUrl="https://auth.mavenmm.com">
106
- <Routes>
107
- <Route path="/home" element={<Dashboard />} />
108
- <Route path="/profile" element={<Profile />} />
109
- </Routes>
110
- </AuthProvider>
111
- );
112
- }
113
-
114
- function Dashboard() {
115
- const { user, loading, isAuthenticated, logout } = useAuthContext();
116
-
117
- if (loading) return <div>Loading...</div>;
118
-
119
- return (
120
- <div>
121
- <h1>Welcome, {user?.firstName}!</h1>
122
- <button onClick={logout}>Logout</button>
123
- </div>
124
- );
125
- }
126
- ```
127
-
128
- ### 3. No Backend Code Needed! 🎉
129
-
130
- **That's it!** No Netlify Functions, no environment variables, no backend setup required in your app.
131
-
132
- The external auth service at `auth.mavenmm.com` handles all the backend logic:
133
- - Teamwork OAuth flow
134
- - JWT token management
135
- - Cookie handling for `.mavenmm.com` subdomains
136
- - Authentication validation
137
-
138
- ## Cookie Domain Configuration 🍪
139
-
140
- For subdomain sharing (e.g., sharing auth between `app.yourdomain.com` and `admin.yourdomain.com`):
141
-
142
- ```bash
143
- # In your .env file
144
- VITE_COOKIE_DOMAIN=.yourdomain.com
145
- ```
146
-
147
- This allows the authentication cookie to work across all `*.yourdomain.com` subdomains.
148
-
149
- **Behavior:**
150
- - **Localhost**: No domain set (works with any localhost port)
151
- - **Production with VITE_COOKIE_DOMAIN**: Cookie shared across subdomains
152
- - **Production without VITE_COOKIE_DOMAIN**: Cookie only works on exact domain
153
-
154
- ## Features
155
-
156
- - 🔐 **Teamwork OAuth** - Uses official Teamwork login button
157
- - 🍪 **Cookie-based Auth** - Secure authentication with HttpOnly cookies
158
- - 🌐 **Subdomain Support** - Configurable cookie sharing across subdomains
159
- - 🔄 **Auto-redirect** - Smart redirect handling between apps
160
- - 📱 **TypeScript** - Full type safety
161
- - ⚡ **Netlify Functions** - Ready-to-use serverless auth handlers
162
- - 🎯 **Vite Optimized** - Built specifically for Vite+React+Netlify stack
163
-
164
- ## Important Notes 📝
165
-
166
- **Router Requirement**: The `AuthProvider` uses React Router hooks (`useNavigate`, `useLocation`) and must be placed inside a Router context. Specifically, it should be inside a Route element, not as a direct child of `<Router>`.
167
-
168
- **Environment Variables**: You need both client-side (`VITE_*`) and server-side variables. The client-side variables are for React components, and server-side variables are for Netlify Functions.
169
-
170
- ## API Reference
171
-
172
- ### React Components
173
-
174
- #### `useTeamworkAuth(config)`
175
-
176
- ```tsx
177
- const {
178
- user, // User | null
179
- setUser, // (user: User | null) => void
180
- loading, // boolean
181
- isAuthenticated, // boolean
182
- login, // (code: string) => Promise<{twUser: User}>
183
- logout // () => Promise<void>
184
- } = useTeamworkAuth({
185
- authServiceUrl: 'https://auth.mavenmm.com',
186
- cookieDomain: '.mavenmm.com'
187
- });
188
- ```
189
-
190
- #### `<Login>`
191
-
192
- ```tsx
193
- <Login /> // Uses environment variables for configuration
194
- ```
195
-
196
- ### Auth Service Endpoints (auth.mavenmm.com)
197
-
198
- #### `POST /.netlify/functions/login`
199
- - **Headers**: `code` (OAuth authorization code)
200
- - **Response**: `{ twUser: User }`
201
- - **Sets**: `maven_auth_token` cookie (HttpOnly, secure)
202
-
203
- #### `GET /.netlify/functions/logout`
204
- - **Response**: `{ success: true }`
205
- - **Clears**: `maven_auth_token` cookie
206
-
207
- #### `GET /.netlify/functions/checkAuth`
208
- - **Response**: `{ authenticated: boolean, userId?: string }`
209
- - **Validates**: `maven_auth_token` JWT cookie
210
-
211
- ### Types
212
-
213
- ```tsx
214
- interface User {
215
- id: string;
216
- firstName: string;
217
- lastName: string;
218
- email: string;
219
- avatar: string;
220
- company: {
221
- id: number;
222
- name: string;
223
- logo: string;
224
- };
225
- }
226
- ```
227
-
228
- ## Multi-Site Integration Example
229
-
230
- Adding auth to a new Maven app (e.g., `app1.mavenmm.com`):
231
-
232
- ```tsx
233
- // Just install and configure - no backend code needed!
234
- import { useTeamworkAuth, Login } from '@mavenmm/teamwork-auth';
235
-
236
- const authConfig = {
237
- authServiceUrl: 'https://auth.mavenmm.com',
238
- cookieDomain: '.mavenmm.com' // Enables SSO across subdomains
239
- };
240
-
241
- function App() {
242
- const { user, isAuthenticated, logout } = useTeamworkAuth(authConfig);
243
-
244
- if (!isAuthenticated) return <Login />;
245
-
246
- return (
247
- <div>
248
- <h1>Welcome to app1.mavenmm.com, {user?.firstName}!</h1>
249
- <button onClick={logout}>Logout</button>
250
- </div>
251
- );
252
- }
253
- ```
254
-
255
- **That's it!** The user will be automatically authenticated if they're logged in to any other Maven app.
256
-
257
- ## Troubleshooting
258
-
259
- ### Common Issues
260
-
261
- #### 🚫 "User not authenticated" but should be logged in
262
-
263
- **Symptoms**: App shows login screen even though user logged in elsewhere
264
- **Causes**:
265
- - Incorrect `cookieDomain` configuration
266
- - App not on `*.mavenmm.com` subdomain
267
- - Auth service unreachable
268
-
269
- **Solutions**:
270
- ```tsx
271
- // 1. Check cookie domain configuration
272
- const authConfig = {
273
- cookieDomain: '.mavenmm.com' // Must include the dot!
274
- };
275
-
276
- // 2. Verify subdomain
277
- // ✅ Good: app1.mavenmm.com, admin.mavenmm.com
278
- // ❌ Bad: app1.mavenmarketing.com, localhost:3000
279
-
280
- // 3. Test auth service
281
- fetch('https://auth.mavenmm.com/.netlify/functions/checkAuth')
282
- .then(res => console.log('Auth service status:', res.status));
283
- ```
284
-
285
- #### 🔄 Login button doesn't work
286
-
287
- **Symptoms**: Clicking login does nothing or shows errors
288
- **Causes**:
289
- - CORS issues between app and auth service
290
- - Auth service environment variables missing
291
- - Teamwork OAuth app misconfigured
292
-
293
- **Solutions**:
294
- ```bash
295
- # 1. Check browser console for CORS errors
296
- # 2. Verify auth service is deployed and accessible
297
- curl https://auth.mavenmm.com/.netlify/functions/checkAuth
298
-
299
- # 3. Check Teamwork OAuth app redirect URIs include your app domain
300
- ```
301
-
302
- #### 🍪 Authentication doesn't persist after page refresh
303
-
304
- **Symptoms**: User logged out after browser refresh
305
- **Causes**:
306
- - Cookies not being set properly
307
- - Incorrect cookie domain
308
- - Auth service issues
309
-
310
- **Solutions**:
311
- ```tsx
312
- // Check browser dev tools > Application > Cookies
313
- // Should see 'maven_auth_token' cookie for .mavenmm.com domain
314
-
315
- // Debug authentication status
316
- const { user, loading, isAuthenticated } = useTeamworkAuth(authConfig);
317
- console.log('Auth debug:', { user, loading, isAuthenticated });
318
- ```
319
-
320
- #### ⚠️ CORS errors in browser console
321
-
322
- **Symptoms**: Network errors when calling auth service
323
- **Causes**:
324
- - Auth service CORS not configured for your domain
325
- - Using HTTP instead of HTTPS in production
326
-
327
- **Solutions**:
328
- ```bash
329
- # 1. Ensure your app domain is added to auth service CORS allowlist
330
- # 2. Use HTTPS in production (required for cookies)
331
- # 3. Check Origin header matches your domain exactly
332
- ```
333
-
334
- #### 🔐 Environment variable issues
335
-
336
- **Symptoms**: Login process fails with authentication errors
337
- **Causes**:
338
- - Missing or incorrect Teamwork OAuth credentials
339
- - JWT secrets not configured
340
-
341
- **Solutions**:
342
- ```bash
343
- # Auth service needs these environment variables:
344
- VITE_CLIENT_ID=your_teamwork_client_id
345
- VITE_CLIENT_SECRET=your_teamwork_client_secret
346
- VITE_REDIRECT_URI=https://your-app-domain.com
347
- JWT_KEY=secure_random_jwt_secret
348
-
349
- # Apps only need auth service URL (no secrets):
350
- const authConfig = {
351
- authServiceUrl: 'https://auth.mavenmm.com'
352
- };
353
- ```
354
-
355
- ### Debug Mode
356
-
357
- Enable detailed logging to troubleshoot issues:
358
-
359
- ```tsx
360
- // Temporarily add for debugging
361
- const authConfig = {
362
- authServiceUrl: 'https://auth.mavenmm.com',
363
- cookieDomain: '.mavenmm.com',
364
- debug: true // Enables console logging
365
- };
366
- ```
367
-
368
- ### Getting Help
369
-
370
- 1. **Check browser console** for error messages
371
- 2. **Verify network requests** in browser dev tools
372
- 3. **Test auth service directly** with curl commands
373
- 4. **Review documentation**:
374
- - `INTEGRATION.md` - Step-by-step integration guide
375
- - `SECURITY.md` - Security best practices
376
- - `DEPLOYMENT.md` - Auth service deployment
377
-
378
- ## Project Structure
379
-
380
- ```
381
- @mavenmm/teamwork-auth/
382
- ├── src/ # Frontend package source
383
- │ ├── hooks/
384
- │ │ └── useTeamworkAuth.ts
385
- │ ├── components/
386
- │ │ └── Login.tsx
387
- │ └── providers/
388
- │ └── AuthProvider.tsx
389
- ├── auth-service/ # Centralized auth service
390
- │ ├── functions/
391
- │ │ ├── login.ts
392
- │ │ ├── logout.ts
393
- │ │ └── checkAuth.ts
394
- │ └── middleware/
395
- ├── test-app/ # Local testing app
396
- ├── INTEGRATION.md # Integration guide
397
- ├── SECURITY.md # Security documentation
398
- └── DEPLOYMENT.md # Deployment guide
399
- ```
400
-
401
- ---
402
-
403
- Made with ❤️ by Maven Marketing
@@ -1,16 +0,0 @@
1
- import { User } from "../types";
2
- export interface ExternalAuthConfig {
3
- authServiceUrl?: string;
4
- cookieDomain?: string;
5
- }
6
- export declare function useTeamworkSSO(config?: ExternalAuthConfig): {
7
- user: User | null;
8
- setUser: import("react").Dispatch<import("react").SetStateAction<User | null>>;
9
- loading: boolean;
10
- isAuthenticated: boolean;
11
- login: (code: string) => Promise<{
12
- twUser: any;
13
- }>;
14
- logout: () => Promise<void>;
15
- };
16
- //# sourceMappingURL=useTeamworkSSO.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"useTeamworkSSO.d.ts","sourceRoot":"","sources":["../../src/hooks/useTeamworkSSO.ts"],"names":[],"mappings":"AACA,OAAO,EAAe,IAAI,EAAE,MAAM,UAAU,CAAC;AAE7C,MAAM,WAAW,kBAAkB;IACjC,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,wBAAgB,cAAc,CAAC,MAAM,GAAE,kBAAuB;;;;;kBA+BjC,MAAM;;;;EAmPlC"}
@@ -1,3 +0,0 @@
1
- export declare function getEnvVar(key: string): string | undefined;
2
- export declare function isDev(): boolean;
3
- //# sourceMappingURL=env.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"env.d.ts","sourceRoot":"","sources":["../../src/utils/env.ts"],"names":[],"mappings":"AACA,wBAAgB,SAAS,CAAC,GAAG,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS,CAgCzD;AAGD,wBAAgB,KAAK,IAAI,OAAO,CAgC/B"}