delta-auth-next 0.1.77 → 0.1.79
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,KAAoD,MAAM,OAAO,CAAC;AACzE,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,KAAoD,MAAM,OAAO,CAAC;AACzE,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,2CA8J5D"}
|
package/dist/DeltaProvider.js
CHANGED
|
@@ -10,9 +10,8 @@ export function DeltaAuthProvider({ config, children }) {
|
|
|
10
10
|
const [loading, setLoading] = useState(true);
|
|
11
11
|
const [enabled, setEnabled] = useState(true);
|
|
12
12
|
const [accessToken, setAccessToken] = useState(null);
|
|
13
|
-
// Stored as a Number (ms) to allow direct math with Date.now()
|
|
14
13
|
const [expiresAt, setExpiresAt] = useState(null);
|
|
15
|
-
const {
|
|
14
|
+
const { Toast } = useSimpleToast();
|
|
16
15
|
const client = useMemo(() => {
|
|
17
16
|
return createAuthClient({
|
|
18
17
|
backendUrl: config.backendUrl,
|
|
@@ -36,7 +35,7 @@ export function DeltaAuthProvider({ config, children }) {
|
|
|
36
35
|
const res = await client.getCurrentUser();
|
|
37
36
|
setDeltaUser(res.user);
|
|
38
37
|
setAccessToken(res.accessToken);
|
|
39
|
-
//
|
|
38
|
+
// Backend returns the current session's hard expiry
|
|
40
39
|
if (res.user?.session_expires_at) {
|
|
41
40
|
setExpiresAt(new Date(res.user.session_expires_at).getTime());
|
|
42
41
|
}
|
|
@@ -68,12 +67,12 @@ export function DeltaAuthProvider({ config, children }) {
|
|
|
68
67
|
throw new Error('Failed to fetch app metadata');
|
|
69
68
|
const data = await res.json();
|
|
70
69
|
if (isMounted) {
|
|
71
|
-
// MATCHING YOUR BACKEND KEYS:
|
|
72
70
|
setApp(data.app ?? null);
|
|
73
71
|
setDeltaUser(data.user ?? null);
|
|
74
72
|
setAccessToken(data.accessToken);
|
|
75
|
-
|
|
76
|
-
|
|
73
|
+
if (data.user?.session_expires_at) {
|
|
74
|
+
setExpiresAt(new Date(data.user.session_expires_at).getTime());
|
|
75
|
+
}
|
|
77
76
|
}
|
|
78
77
|
}
|
|
79
78
|
catch (err) {
|
|
@@ -84,12 +83,8 @@ export function DeltaAuthProvider({ config, children }) {
|
|
|
84
83
|
setLoading(false);
|
|
85
84
|
}
|
|
86
85
|
};
|
|
87
|
-
if (config.publishableKey)
|
|
86
|
+
if (config.publishableKey)
|
|
88
87
|
bootstrap();
|
|
89
|
-
}
|
|
90
|
-
else {
|
|
91
|
-
setLoading(false);
|
|
92
|
-
}
|
|
93
88
|
return () => {
|
|
94
89
|
isMounted = false;
|
|
95
90
|
};
|
|
@@ -100,9 +95,10 @@ export function DeltaAuthProvider({ config, children }) {
|
|
|
100
95
|
useEffect(() => {
|
|
101
96
|
if (!enabled || !deltaUser || !expiresAt)
|
|
102
97
|
return;
|
|
103
|
-
//
|
|
104
|
-
|
|
105
|
-
|
|
98
|
+
// We trigger EXACTLY at the moment of death.
|
|
99
|
+
// If the backend says "not yet," it returns the old token.
|
|
100
|
+
// If it says "yes," it returns a new one.
|
|
101
|
+
const delay = expiresAt - Date.now();
|
|
106
102
|
if (delay <= 0) {
|
|
107
103
|
fetchUser();
|
|
108
104
|
return;
|
|
@@ -116,21 +112,16 @@ export function DeltaAuthProvider({ config, children }) {
|
|
|
116
112
|
/* 4. Public Token Access Method */
|
|
117
113
|
/* ---------------------------------- */
|
|
118
114
|
const getAccessToken = useCallback(async () => {
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
if (accessToken &&
|
|
115
|
+
// If we are past or within 1s of the expiry, refresh before returning
|
|
116
|
+
const isExpired = !expiresAt || Date.now() + 1000 >= expiresAt;
|
|
117
|
+
if (accessToken && !isExpired) {
|
|
122
118
|
return accessToken;
|
|
123
119
|
}
|
|
124
|
-
// Otherwise, perform a background refresh
|
|
125
120
|
const res = await fetchUser();
|
|
126
121
|
return res?.accessToken ?? null;
|
|
127
122
|
}, [accessToken, expiresAt, fetchUser]);
|
|
128
|
-
|
|
129
|
-
/* Render */
|
|
130
|
-
/* ---------------------------------- */
|
|
131
|
-
if (!enabled) {
|
|
123
|
+
if (!enabled)
|
|
132
124
|
return (_jsxs(_Fragment, { children: [children, _jsx(Toast, {})] }));
|
|
133
|
-
}
|
|
134
125
|
return (_jsxs(AuthContext.Provider, { value: {
|
|
135
126
|
deltaUser,
|
|
136
127
|
setDeltaUser,
|
|
@@ -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,OAAO,EAAE,MAAM,OAAO,CAAC;AACzE,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,GAAG,EAAE,MAAM,CAAC,GAAG,QAAQ,CAAiB,IAAI,CAAC,CAAC;IACrD,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;IAC7C,MAAM,CAAC,WAAW,EAAE,cAAc,CAAC,GAAG,QAAQ,CAAgB,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.79",
|
|
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",
|