delta-auth-next 0.1.45 → 0.1.46
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 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeltaProvider.d.ts","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AACxE,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,
|
|
1
|
+
{"version":3,"file":"DeltaProvider.d.ts","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAAmD,MAAM,OAAO,CAAC;AACxE,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,2CAmG5D"}
|
package/dist/DeltaProvider.js
CHANGED
|
@@ -7,9 +7,9 @@ import { useSimpleToast } from './alert';
|
|
|
7
7
|
export function DeltaAuthProvider({ config, children }) {
|
|
8
8
|
const [deltaUser, setDeltaUser] = useState(null);
|
|
9
9
|
const [loading, setLoading] = useState(true);
|
|
10
|
-
const [enabled, setEnabled] = useState(true);
|
|
10
|
+
const [enabled, setEnabled] = useState(true);
|
|
11
11
|
const { show, Toast } = useSimpleToast();
|
|
12
|
-
const
|
|
12
|
+
const hasFetchedUser = useRef(false); // ✅ guard multiple fetches
|
|
13
13
|
// 🔹 Disable provider if misconfigured
|
|
14
14
|
useEffect(() => {
|
|
15
15
|
if (!config?.publishableKey) {
|
|
@@ -33,39 +33,47 @@ export function DeltaAuthProvider({ config, children }) {
|
|
|
33
33
|
try {
|
|
34
34
|
const res = await client.get('/auth/me', {
|
|
35
35
|
headers: { 'x-delta-publishable-key': config.publishableKey },
|
|
36
|
-
withCredentials: true,
|
|
36
|
+
withCredentials: true,
|
|
37
37
|
});
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
38
|
+
const user = res.data?.data?.user ?? null;
|
|
39
|
+
// ✅ only update state if changed
|
|
40
|
+
setDeltaUser((prev) => (prev?.id !== user?.id ? user : prev));
|
|
41
|
+
return user;
|
|
41
42
|
}
|
|
42
43
|
catch (err) {
|
|
43
|
-
console.
|
|
44
|
-
// 401 →
|
|
45
|
-
if (err.response?.status === 401)
|
|
44
|
+
console.warn('Failed to fetch user:', err.message || err);
|
|
45
|
+
// 401 → user not logged in, don't throw
|
|
46
|
+
if (err.response?.status === 401)
|
|
46
47
|
setDeltaUser(null);
|
|
47
|
-
// optionally redirect to login
|
|
48
|
-
}
|
|
49
48
|
return null;
|
|
50
49
|
}
|
|
51
50
|
finally {
|
|
52
51
|
setLoading(false);
|
|
53
52
|
}
|
|
54
53
|
}, [client, enabled, config.publishableKey]);
|
|
55
|
-
// 🔹
|
|
54
|
+
// 🔹 Fetch once on mount
|
|
56
55
|
useEffect(() => {
|
|
57
|
-
if (!enabled ||
|
|
56
|
+
if (!enabled || hasFetchedUser.current)
|
|
58
57
|
return;
|
|
59
|
-
|
|
58
|
+
hasFetchedUser.current = true;
|
|
60
59
|
fetchUser();
|
|
61
60
|
}, [enabled, fetchUser]);
|
|
62
|
-
// 🔹 Auto-refresh
|
|
61
|
+
// 🔹 Auto-refresh only if enabled and user exists
|
|
63
62
|
useEffect(() => {
|
|
64
63
|
if (!enabled || !config.autoRefresh)
|
|
65
64
|
return;
|
|
66
|
-
const interval = setInterval(
|
|
65
|
+
const interval = setInterval(() => {
|
|
66
|
+
if (deltaUser)
|
|
67
|
+
fetchUser();
|
|
68
|
+
}, config.refreshInterval ?? 5 * 60 * 1000);
|
|
67
69
|
return () => clearInterval(interval);
|
|
68
|
-
}, [
|
|
70
|
+
}, [
|
|
71
|
+
enabled,
|
|
72
|
+
config.autoRefresh,
|
|
73
|
+
config.refreshInterval,
|
|
74
|
+
fetchUser,
|
|
75
|
+
deltaUser,
|
|
76
|
+
]);
|
|
69
77
|
if (!enabled)
|
|
70
78
|
return _jsx(_Fragment, { children: children });
|
|
71
79
|
return (_jsxs(_Fragment, { children: [_jsx(AuthContext.Provider, { value: {
|
|
@@ -76,6 +84,6 @@ export function DeltaAuthProvider({ config, children }) {
|
|
|
76
84
|
client,
|
|
77
85
|
fetchUser,
|
|
78
86
|
config,
|
|
79
|
-
}, children: children }), _jsx(Toast, {})
|
|
87
|
+
}, children: children }), _jsx(Toast, {})] }));
|
|
80
88
|
}
|
|
81
89
|
//# sourceMappingURL=DeltaProvider.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeltaProvider.js","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,EAAE,MAAM,OAAO,CAAC;AACxE,OAAO,EAAE,WAAW,EAAmB,MAAM,WAAW,CAAC;AACzD,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAOzC,MAAM,UAAU,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAS;IAC3D,MAAM,CAAC,SAAS,EAAE,YAAY,CAAC,GAAG,QAAQ,CAAc,IAAI,CAAC,CAAC;IAC9D,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC;IAC7C,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC
|
|
1
|
+
{"version":3,"file":"DeltaProvider.js","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "delta-auth-next",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.46",
|
|
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",
|