delta-auth-next 0.1.80 → 0.1.85

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,7 @@
1
1
  import React from 'react';
2
2
  import { DeltaAuthConfig } from './context';
3
- interface Props {
3
+ export declare function DeltaAuthProvider({ config, children, }: {
4
4
  config: DeltaAuthConfig;
5
5
  children: React.ReactNode;
6
- }
7
- export declare function DeltaAuthProvider({ config, children }: Props): import("react/jsx-runtime").JSX.Element;
8
- export {};
6
+ }): import("react/jsx-runtime").JSX.Element;
9
7
  //# sourceMappingURL=DeltaProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeltaProvider.d.ts","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EAAe,eAAe,EAAE,MAAM,WAAW,CAAC;AAKzD,UAAU,KAAK;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAED,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,2CA6J5D"}
1
+ {"version":3,"file":"DeltaProvider.d.ts","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAMN,MAAM,OAAO,CAAC;AACf,OAAO,EAAe,eAAe,EAAE,MAAM,WAAW,CAAC;AAKzD,wBAAgB,iBAAiB,CAAC,EAChC,MAAM,EACN,QAAQ,GACT,EAAE;IACD,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B,2CA4KA"}
@@ -1,18 +1,20 @@
1
1
  'use client';
2
- import { jsx as _jsx, Fragment as _Fragment, jsxs as _jsxs } from "react/jsx-runtime";
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
3
  import { useState, useEffect, useCallback, useMemo, useRef, } from 'react';
4
4
  import { AuthContext } from './context';
5
5
  import { createAuthClient } from './client/authClient';
6
6
  import { useSimpleToast } from './alert';
7
- export function DeltaAuthProvider({ config, children }) {
7
+ export function DeltaAuthProvider({ config, children, }) {
8
8
  const [deltaUser, setDeltaUser] = useState(null);
9
9
  const [app, setApp] = useState(null);
10
10
  const [loading, setLoading] = useState(true);
11
- const [enabled, setEnabled] = useState(true);
12
11
  const [accessToken, setAccessToken] = useState(null);
13
12
  const [expiresAt, setExpiresAt] = useState(null);
14
- // 1. ADD THIS: Ref to prevent concurrent/infinite calls
13
+ const [timeLeft, setTimeLeft] = useState('00:00:00');
14
+ const lastTriggeredRef = useRef(0);
15
+ // 1. CRITICAL: These refs prevent the "Feedback Loop"
15
16
  const isRefreshing = useRef(false);
17
+ const lastRefreshTime = useRef(0);
16
18
  const { Toast } = useSimpleToast();
17
19
  const client = useMemo(() => {
18
20
  return createAuthClient({
@@ -21,22 +23,21 @@ export function DeltaAuthProvider({ config, children }) {
21
23
  authDomain: config.authDomain,
22
24
  appType: config.appType,
23
25
  });
24
- }, [
25
- config.backendUrl,
26
- config.publishableKey,
27
- config.authDomain,
28
- config.appType,
29
- ]);
26
+ }, [config]);
30
27
  const fetchUser = useCallback(async () => {
31
- if (!enabled || isRefreshing.current)
28
+ // 2. Stop if already in flight OR if we just refreshed < 5 seconds ago
29
+ if (isRefreshing.current || Date.now() - lastRefreshTime.current < 5000)
32
30
  return null;
33
- isRefreshing.current = true; // Lock
31
+ isRefreshing.current = true;
34
32
  try {
35
33
  const res = await client.getCurrentUser();
36
- setDeltaUser(res.user);
37
- setAccessToken(res.accessToken);
38
- if (res.user?.session_expires_at) {
39
- setExpiresAt(new Date(res.user.session_expires_at).getTime());
34
+ if (res.user) {
35
+ setDeltaUser(res.user);
36
+ setAccessToken(res.accessToken);
37
+ if (res.user.session_expires_at) {
38
+ setExpiresAt(new Date(res.user.session_expires_at).getTime());
39
+ }
40
+ lastRefreshTime.current = Date.now(); // Mark successful refresh
40
41
  }
41
42
  if (res.application)
42
43
  setApp(res.application);
@@ -44,96 +45,108 @@ export function DeltaAuthProvider({ config, children }) {
44
45
  }
45
46
  catch (err) {
46
47
  console.warn('DeltaAuth refresh failed:', err);
47
- setDeltaUser(null);
48
- setAccessToken(null);
49
- setExpiresAt(null);
50
48
  return null;
51
49
  }
52
50
  finally {
53
- isRefreshing.current = false; // Unlock
51
+ isRefreshing.current = false;
54
52
  setLoading(false);
55
53
  }
56
- }, [client, enabled]);
57
- /* ---------------------------------- */
58
- /* Bootstrap (Initial Load) */
59
- /* ---------------------------------- */
54
+ }, [client]);
55
+ /* --- Bootstrap (Runs once on mount) --- */
60
56
  useEffect(() => {
61
57
  let isMounted = true;
62
- setLoading(true);
63
58
  const bootstrap = async () => {
64
59
  try {
65
60
  const res = await fetch(`${config.backendUrl}/auth/app-info?client_id=${config.publishableKey}`, { credentials: 'include' });
66
- if (!res.ok)
67
- throw new Error('Failed to fetch app metadata');
68
61
  const data = await res.json();
69
- if (isMounted) {
70
- setApp(data.app ?? null);
71
- setDeltaUser(data.user ?? null);
62
+ if (isMounted && data.user) {
63
+ setApp(data.app);
64
+ setDeltaUser(data.user);
72
65
  setAccessToken(data.accessToken);
73
- if (data.user?.session_expires_at) {
66
+ if (data.user.session_expires_at) {
74
67
  setExpiresAt(new Date(data.user.session_expires_at).getTime());
75
68
  }
76
69
  }
77
70
  }
78
- catch (err) {
79
- console.warn('DeltaAuth bootstrap failed:', err);
80
- }
81
71
  finally {
82
72
  if (isMounted)
83
73
  setLoading(false);
84
74
  }
85
75
  };
86
- if (config.publishableKey)
87
- bootstrap();
76
+ bootstrap();
88
77
  return () => {
89
78
  isMounted = false;
90
79
  };
91
80
  }, [config.publishableKey, config.backendUrl]);
92
- /* ---------------------------------- */
93
- /* 3. Proactive Scheduling (Fixed) */
94
- /* ---------------------------------- */
81
+ /* --- 3. THE FIXED SCHEDULER --- */
95
82
  useEffect(() => {
96
- if (!enabled || !deltaUser || !expiresAt || isRefreshing.current)
83
+ // Only schedule if we have a user and an expiry that isn't currently being refreshed
84
+ if (!deltaUser || !expiresAt || isRefreshing.current)
97
85
  return;
98
- // Calculate delay
99
86
  const now = Date.now();
100
- let delay = expiresAt - now;
101
- // 2. THE FIX: If the token is expired, or expiring very soon,
102
- // we wait at least 5 seconds before the next check to prevent infinite loops
103
- // if the backend hasn't rotated the session_expires_at yet.
87
+ const delay = expiresAt - now;
88
+ // If already expired, trigger a single refresh
104
89
  if (delay <= 0) {
105
90
  fetchUser();
106
91
  return;
107
92
  }
93
+ // Otherwise, set a timer for the exact moment of death
108
94
  const timer = setTimeout(() => {
109
95
  fetchUser();
110
96
  }, delay);
111
97
  return () => clearTimeout(timer);
112
- }, [deltaUser, expiresAt, fetchUser, enabled]);
113
- /* ---------------------------------- */
114
- /* 4. Public Token Access Method */
115
- /* ---------------------------------- */
98
+ // 4. IMPORTANT: We remove deltaUser from dependencies to prevent the loop
99
+ // We only care if the 'expiresAt' timestamp actually changes.
100
+ }, [expiresAt, fetchUser]);
116
101
  const getAccessToken = useCallback(async () => {
117
- const isExpired = !expiresAt || Date.now() + 1000 >= expiresAt;
118
- if (accessToken && !isExpired) {
102
+ const isExpired = !expiresAt || Date.now() + 2000 >= expiresAt;
103
+ if (accessToken && !isExpired)
119
104
  return accessToken;
120
- }
121
105
  const res = await fetchUser();
122
106
  return res?.accessToken ?? null;
123
107
  }, [accessToken, expiresAt, fetchUser]);
124
- if (!enabled)
125
- return (_jsxs(_Fragment, { children: [children, _jsx(Toast, {})] }));
108
+ /* ---------------------------------- */
109
+ /* 3. The Countdown & Auto-Refresh */
110
+ /* ---------------------------------- */
111
+ useEffect(() => {
112
+ if (!expiresAt || !deltaUser)
113
+ return;
114
+ const timer = setInterval(() => {
115
+ const now = Date.now();
116
+ const diff = expiresAt - now;
117
+ // 1. Check if we just hit or passed the expiry
118
+ if (diff <= 0) {
119
+ setTimeLeft('SESSION EXPIRED');
120
+ console.log('SESSION EXPIRED');
121
+ // Only trigger fetchUser once per expiry cycle
122
+ if (lastTriggeredRef.current !== expiresAt) {
123
+ lastTriggeredRef.current = expiresAt;
124
+ fetchUser();
125
+ }
126
+ return;
127
+ }
128
+ // 2. Format the countdown string for the UI
129
+ const hours = Math.floor(diff / (1000 * 60 * 60));
130
+ const minutes = Math.floor((diff % (1000 * 60 * 60)) / (1000 * 60));
131
+ const seconds = Math.floor((diff % (1000 * 60)) / 1000);
132
+ setTimeLeft(`${hours.toString().padStart(2, '0')}:${minutes
133
+ .toString()
134
+ .padStart(2, '0')}:${seconds.toString().padStart(2, '0')}`);
135
+ }, 1000);
136
+ return () => clearInterval(timer);
137
+ }, [expiresAt, deltaUser, fetchUser]);
126
138
  return (_jsxs(AuthContext.Provider, { value: {
127
139
  deltaUser,
128
140
  setDeltaUser,
129
141
  app,
130
142
  setApp,
131
143
  loading,
132
- isAuthenticated: Boolean(deltaUser),
144
+ isAuthenticated: !!deltaUser,
133
145
  client,
134
146
  fetchUser,
135
147
  getAccessToken,
136
148
  config,
149
+ timeLeft
137
150
  }, children: [children, _jsx(Toast, {})] }));
138
151
  }
139
152
  //# sourceMappingURL=DeltaProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DeltaProvider.js","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"DeltaProvider.js","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"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"}
package/dist/context.d.ts CHANGED
@@ -26,6 +26,7 @@ export interface AuthContextValue {
26
26
  fetchUser: () => Promise<AuthResponse | null>;
27
27
  config: DeltaAuthConfig;
28
28
  getAccessToken: () => Promise<string | null>;
29
+ timeLeft: string;
29
30
  }
30
31
  export declare const AuthContext: import("react").Context<AuthContextValue>;
31
32
  //# sourceMappingURL=context.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,IAAI,EAAC,OAAO,EAAE,MAAM,SAAS,CAAC;AAGhD,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;CAC7B;AACD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;IACtC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,UAAU,CAAC,cAAc,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;IAC1E,SAAS,EAAE,MAAM,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC9C,MAAM,EAAE,eAAe,CAAC;IACxB,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;CAC9C;AAED,eAAO,MAAM,WAAW,2CAWtB,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,IAAI,EAAC,OAAO,EAAE,MAAM,SAAS,CAAC;AAGhD,MAAM,WAAW,eAAe;IAC9B,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,KAAK,GAAG,KAAK,CAAC;CACzB;AAED,MAAM,WAAW,YAAY;IAC3B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,WAAW,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IACzB,WAAW,EAAE,OAAO,GAAG,IAAI,CAAC;CAC7B;AACD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAE,OAAO,GAAG,IAAI,CAAC;IACpB,MAAM,EAAE,CAAC,GAAG,EAAE,OAAO,GAAG,IAAI,KAAK,IAAI,CAAC;IACtC,YAAY,EAAE,CAAC,IAAI,EAAE,IAAI,GAAG,IAAI,KAAK,IAAI,CAAC;IAC1C,eAAe,EAAE,OAAO,CAAC;IACzB,MAAM,EAAE,UAAU,CAAC,cAAc,qBAAqB,EAAE,gBAAgB,CAAC,CAAC;IAC1E,SAAS,EAAE,MAAM,OAAO,CAAC,YAAY,GAAG,IAAI,CAAC,CAAC;IAC9C,MAAM,EAAE,eAAe,CAAC;IACxB,cAAc,EAAE,MAAM,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IAC7C,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,eAAO,MAAM,WAAW,2CAYtB,CAAC"}
package/dist/context.js CHANGED
@@ -11,5 +11,6 @@ export const AuthContext = createContext({
11
11
  client: {},
12
12
  fetchUser: async () => null,
13
13
  config: {},
14
+ timeLeft: '00:00:00',
14
15
  });
15
16
  //# sourceMappingURL=context.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAkCtC,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAmB;IACzD,SAAS,EAAE,IAAI;IACf,GAAG,EAAE,IAAI;IACT,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;IACtB,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;IAChB,eAAe,EAAE,KAAK;IACtB,cAAc,EAAE,KAAK,IAAG,EAAE,CAAC,IAAI;IAC/B,MAAM,EAAE,EAAS;IACjB,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;IAC3B,MAAM,EAAE,EAAqB;CAC9B,CAAC,CAAC"}
1
+ {"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AAmCtC,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAmB;IACzD,SAAS,EAAE,IAAI;IACf,GAAG,EAAE,IAAI;IACT,OAAO,EAAE,IAAI;IACb,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;IACtB,MAAM,EAAE,GAAG,EAAE,GAAE,CAAC;IAChB,eAAe,EAAE,KAAK;IACtB,cAAc,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;IAChC,MAAM,EAAE,EAAS;IACjB,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;IAC3B,MAAM,EAAE,EAAqB;IAC7B,QAAQ,EAAE,UAAU;CACrB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "delta-auth-next",
3
- "version": "0.1.80",
3
+ "version": "0.1.85",
4
4
  "description": "A lightweight authentication system for Next.js that provides React context providers and Edge-safe middleware utilities for handling sign-in redirects and session management.",
5
5
  "license": "MIT",
6
6
  "author": "Samuel Onwodi",