delta-auth-next 0.1.64 → 0.1.66
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/DeltaProvider.d.ts.map +1 -1
- package/dist/DeltaProvider.js +81 -24
- package/dist/DeltaProvider.js.map +1 -1
- package/dist/LoginButton.d.ts +1 -1
- package/dist/LoginButton.d.ts.map +1 -1
- package/dist/LoginButton.js +2 -2
- package/dist/LoginButton.js.map +1 -1
- package/dist/UseDeltaRequest.d.ts.map +1 -1
- package/dist/UseDeltaRequest.js +63 -16
- package/dist/UseDeltaRequest.js.map +1 -1
- package/dist/UseLogin.d.ts +3 -1
- package/dist/UseLogin.d.ts.map +1 -1
- package/dist/UseLogin.js +21 -13
- package/dist/UseLogin.js.map +1 -1
- package/dist/UseLogout.js +1 -1
- package/dist/UseLogout.js.map +1 -1
- package/dist/client/authClient.d.ts +12 -4
- package/dist/client/authClient.d.ts.map +1 -1
- package/dist/client/authClient.js +70 -10
- package/dist/client/authClient.js.map +1 -1
- package/dist/client/http.d.ts +5 -0
- package/dist/client/http.d.ts.map +1 -0
- package/dist/client/http.js +12 -0
- package/dist/client/http.js.map +1 -0
- package/dist/context.d.ts +1 -0
- package/dist/context.d.ts.map +1 -1
- package/dist/context.js.map +1 -1
- package/dist/types.d.ts +3 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeltaProvider.d.ts","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA2D,MAAM,OAAO,CAAC;AAChF,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,KAA2D,MAAM,OAAO,CAAC;AAChF,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,2CA8K5D"}
|
package/dist/DeltaProvider.js
CHANGED
|
@@ -16,47 +16,104 @@ export function DeltaAuthProvider({ config, children }) {
|
|
|
16
16
|
if (!config?.publishableKey) {
|
|
17
17
|
show('DeltaAuth: publishableKey is required');
|
|
18
18
|
setEnabled(false);
|
|
19
|
+
return;
|
|
19
20
|
}
|
|
20
21
|
if (!config?.authDomain) {
|
|
21
22
|
show('DeltaAuth: authDomain is required');
|
|
22
23
|
setEnabled(false);
|
|
24
|
+
return;
|
|
23
25
|
}
|
|
26
|
+
const fetchMetadata = async () => {
|
|
27
|
+
if (!config.publishableKey)
|
|
28
|
+
return;
|
|
29
|
+
try {
|
|
30
|
+
const res = await fetch(`/auth/app-info?client_id=${config.publishableKey}`, {
|
|
31
|
+
credentials: 'include',
|
|
32
|
+
});
|
|
33
|
+
const data = await res.json();
|
|
34
|
+
// Update both app and user in SDK state
|
|
35
|
+
setApp(data.app);
|
|
36
|
+
if (data.user)
|
|
37
|
+
setDeltaUser(data.user);
|
|
38
|
+
}
|
|
39
|
+
catch (err) {
|
|
40
|
+
console.warn('Failed to fetch app metadata', err);
|
|
41
|
+
}
|
|
42
|
+
finally {
|
|
43
|
+
setLoading(false);
|
|
44
|
+
}
|
|
45
|
+
};
|
|
46
|
+
fetchMetadata();
|
|
24
47
|
}, [config?.publishableKey, config?.authDomain, show]);
|
|
25
48
|
// 🔹 Create client
|
|
26
|
-
const client = useMemo(
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
49
|
+
// const client = useMemo(
|
|
50
|
+
// () =>
|
|
51
|
+
// createAuthClient(
|
|
52
|
+
// config.backendUrl
|
|
53
|
+
// ? {
|
|
54
|
+
// backendUrl: config.backendUrl,
|
|
55
|
+
// publishableKey: config.publishableKey,
|
|
56
|
+
// }
|
|
57
|
+
// : {}
|
|
58
|
+
// ),
|
|
59
|
+
// [config.backendUrl, config.publishableKey]
|
|
60
|
+
// );
|
|
61
|
+
const client = useMemo(() => createAuthClient({
|
|
62
|
+
backendUrl: config.backendUrl,
|
|
63
|
+
publishableKey: config.publishableKey,
|
|
64
|
+
authDomain: config.authDomain,
|
|
65
|
+
appType: config.appType,
|
|
66
|
+
}), [config]);
|
|
32
67
|
// 🔹 Fetch user from backend (httpOnly cookie)
|
|
68
|
+
// const fetchUser = useCallback(async (): Promise<User | null> => {
|
|
69
|
+
// if (!enabled || !client) return null;
|
|
70
|
+
// setLoading(true);
|
|
71
|
+
// try {
|
|
72
|
+
// const res = await client.get('/auth/me', {
|
|
73
|
+
// headers: { 'x-delta-publishable-key': config.publishableKey },
|
|
74
|
+
// withCredentials: true,
|
|
75
|
+
// });
|
|
76
|
+
// const user = res.data?.data?.user ?? null;
|
|
77
|
+
// const application = res.data?.secured_application ?? null;
|
|
78
|
+
// // ✅ only update state if changed
|
|
79
|
+
// // setDeltaUser((prev) =>
|
|
80
|
+
// // JSON.stringify(prev) !== JSON.stringify(user) ? user : prev
|
|
81
|
+
// // );
|
|
82
|
+
// setDeltaUser((prev) => {
|
|
83
|
+
// if (!prev && !user) return prev;
|
|
84
|
+
// if (!prev || !user) return user;
|
|
85
|
+
// if (prev.id !== user.id || prev.last_seen !== user.last_seen) {
|
|
86
|
+
// return user;
|
|
87
|
+
// }
|
|
88
|
+
// return prev;
|
|
89
|
+
// });
|
|
90
|
+
// setApp(application);
|
|
91
|
+
// return user;
|
|
92
|
+
// } catch (err: any) {
|
|
93
|
+
// console.warn('Failed to fetch user:', err.message || err);
|
|
94
|
+
// // 401 → user not logged in, don't throw
|
|
95
|
+
// if (err.response?.status === 401) setDeltaUser(null);
|
|
96
|
+
// return null;
|
|
97
|
+
// } finally {
|
|
98
|
+
// setLoading(false);
|
|
99
|
+
// }
|
|
100
|
+
// }, [client, enabled, config.publishableKey]);
|
|
33
101
|
const fetchUser = useCallback(async () => {
|
|
34
|
-
if (!enabled || !client)
|
|
35
|
-
return null;
|
|
36
102
|
setLoading(true);
|
|
37
103
|
try {
|
|
38
|
-
const res = await client.
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
const user = res.data?.data?.user ?? null;
|
|
43
|
-
const application = res.data?.secured_application ?? null;
|
|
44
|
-
// ✅ only update state if changed
|
|
45
|
-
setDeltaUser((prev) => JSON.stringify(prev) !== JSON.stringify(user) ? user : prev);
|
|
46
|
-
setApp(application);
|
|
47
|
-
return user;
|
|
104
|
+
const res = await client.getCurrentUser();
|
|
105
|
+
setDeltaUser(res.user);
|
|
106
|
+
setApp(res.application);
|
|
107
|
+
return res.user;
|
|
48
108
|
}
|
|
49
|
-
catch
|
|
50
|
-
|
|
51
|
-
// 401 → user not logged in, don't throw
|
|
52
|
-
if (err.response?.status === 401)
|
|
53
|
-
setDeltaUser(null);
|
|
109
|
+
catch {
|
|
110
|
+
setDeltaUser(null);
|
|
54
111
|
return null;
|
|
55
112
|
}
|
|
56
113
|
finally {
|
|
57
114
|
setLoading(false);
|
|
58
115
|
}
|
|
59
|
-
}, [client
|
|
116
|
+
}, [client]);
|
|
60
117
|
// 🔹 Fetch once on mount
|
|
61
118
|
useEffect(() => {
|
|
62
119
|
if (!enabled || hasFetchedUser.current)
|
|
@@ -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,OAAO,EAAC,MAAM,OAAO,CAAC;AAChF,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,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,CAAC;IACzC,MAAM,cAAc,GAAG,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,2BAA2B;IAEjE,uCAAuC;IACvC,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,MAAM,EAAE,cAAc,EAAE,CAAC;YAC5B,IAAI,CAAC,uCAAuC,CAAC,CAAC;YAC9C,UAAU,CAAC,KAAK,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"DeltaProvider.js","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"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"}
|
package/dist/LoginButton.d.ts
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import React from 'react';
|
|
2
2
|
interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
|
|
3
3
|
preferredText?: string;
|
|
4
|
-
redirectUrl
|
|
4
|
+
redirectUrl: string;
|
|
5
5
|
}
|
|
6
6
|
export declare const LoginButton: ({ preferredText, redirectUrl, className, onClick, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
|
|
7
7
|
export {};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginButton.d.ts","sourceRoot":"","sources":["../src/LoginButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAKjD,UAAU,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,
|
|
1
|
+
{"version":3,"file":"LoginButton.d.ts","sourceRoot":"","sources":["../src/LoginButton.tsx"],"names":[],"mappings":"AAEA,OAAO,KAA4B,MAAM,OAAO,CAAC;AAKjD,UAAU,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACzE,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,eAAO,MAAM,WAAW,GAAI,8DAMzB,WAAW,4CA8Db,CAAC"}
|
package/dist/LoginButton.js
CHANGED
|
@@ -4,7 +4,7 @@ import { useState, useMemo } from 'react';
|
|
|
4
4
|
import { useLogin } from './UseLogin';
|
|
5
5
|
import { UserProfile } from './UserProfile';
|
|
6
6
|
import { useDeltaAuth } from './hooks';
|
|
7
|
-
export const LoginButton = ({ preferredText = 'Log In', redirectUrl
|
|
7
|
+
export const LoginButton = ({ preferredText = 'Log In', redirectUrl, className, onClick, ...props }) => {
|
|
8
8
|
const [hovered, setHovered] = useState(false);
|
|
9
9
|
const login = useLogin();
|
|
10
10
|
const { deltaUser, loading, isAuthenticated, app, fetchUser } = useDeltaAuth(); // ✅ renamed user to deltaUser
|
|
@@ -30,7 +30,7 @@ export const LoginButton = ({ preferredText = 'Log In', redirectUrl = '/', class
|
|
|
30
30
|
const handleClick = (e) => {
|
|
31
31
|
onClick?.(e);
|
|
32
32
|
if (!e.defaultPrevented) {
|
|
33
|
-
login();
|
|
33
|
+
login({ redirectTo: redirectUrl });
|
|
34
34
|
}
|
|
35
35
|
};
|
|
36
36
|
return (_jsx("button", { ...props, onClick: handleClick, className: !hasCustomStyles ? defaultClasses : className, onMouseEnter: !hasCustomStyles ? () => setHovered(true) : props.onMouseEnter, onMouseLeave: !hasCustomStyles ? () => setHovered(false) : props.onMouseLeave, children: preferredText }));
|
package/dist/LoginButton.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"LoginButton.js","sourceRoot":"","sources":["../src/LoginButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAOvC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,aAAa,GAAG,QAAQ,EACxB,WAAW,
|
|
1
|
+
{"version":3,"file":"LoginButton.js","sourceRoot":"","sources":["../src/LoginButton.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AAEb,OAAc,EAAE,QAAQ,EAAE,OAAO,EAAE,MAAM,OAAO,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AACtC,OAAO,EAAE,WAAW,EAAE,MAAM,eAAe,CAAC;AAC5C,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAOvC,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,aAAa,GAAG,QAAQ,EACxB,WAAW,EACX,SAAS,EACT,OAAO,EACP,GAAG,KAAK,EACI,EAAE,EAAE;IAChB,MAAM,CAAC,OAAO,EAAE,UAAU,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAE9C,MAAM,KAAK,GAAG,QAAQ,EAAE,CAAC;IACzB,MAAM,EAAE,SAAS,EAAE,OAAO,EAAE,eAAe,EAAE,GAAG,EAAC,SAAS,EAAC,GAAG,YAAY,EAAE,CAAC,CAAC,8BAA8B;IAE5G,MAAM,eAAe,GAAG,CAAC,CAAC,SAAS,CAAC;IAEpC,0CAA0C;IAC1C,MAAM,cAAc,GAAG,OAAO,CAC5B,GAAG,EAAE,CACH,6GAA6G,EAC/G,EAAE,CACH,CAAC;IAEF,sBAAsB;IACtB,IAAI,OAAO,EAAE,CAAC;QACZ,OAAO,CACL,cACE,SAAS,EAAE;;;;;YAKP,SAAS,IAAI,EAAE;SAClB,YAED,cAAK,SAAS,EAAC,kIAAkI,GAAG,GAChJ,CACP,CAAC;IACJ,CAAC;IAED,mCAAmC;IACnC,IAAI,eAAe,IAAI,SAAS,EAAE,CAAC;QACjC,uBAAuB;QACvB,OAAO,KAAC,WAAW,KAAG,CAAC;IACzB,CAAC;IAED,wBAAwB;IACxB,MAAM,WAAW,GAAG,CAAC,CAAsC,EAAE,EAAE;QAC7D,OAAO,EAAE,CAAC,CAAC,CAAC,CAAC;QAEb,IAAI,CAAC,CAAC,CAAC,gBAAgB,EAAE,CAAC;YACxB,KAAK,CAAC,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC,CAAC;QACrC,CAAC;IACH,CAAC,CAAC;IAEF,OAAO,CACL,oBACM,KAAK,EACT,OAAO,EAAE,WAAW,EACpB,SAAS,EAAE,CAAC,eAAe,CAAC,CAAC,CAAC,cAAc,CAAC,CAAC,CAAC,SAAS,EACxD,YAAY,EACV,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,EAEhE,YAAY,EACV,CAAC,eAAe,CAAC,CAAC,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,YAAY,YAGhE,aAAa,GACP,CACV,CAAC;AACJ,CAAC,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UseDeltaRequest.d.ts","sourceRoot":"","sources":["../src/UseDeltaRequest.tsx"],"names":[],"mappings":"AAIA,KAAK,mBAAmB,GAAG;IACzB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAgB,eAAe,
|
|
1
|
+
{"version":3,"file":"UseDeltaRequest.d.ts","sourceRoot":"","sources":["../src/UseDeltaRequest.tsx"],"names":[],"mappings":"AAIA,KAAK,mBAAmB,GAAG;IACzB,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,KAAK,GAAG,QAAQ,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,GAAG,CAAC;IACX,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAC9B,CAAC;AAEF,wBAAgB,eAAe,KASM,CAAC,EAClC,UAAU,MAAM,EAChB,UAAS,mBAAwB,KAChC,OAAO,CAAC,CAAC,CAAC,CAgCd"}
|
package/dist/UseDeltaRequest.js
CHANGED
|
@@ -1,40 +1,87 @@
|
|
|
1
1
|
import { useContext } from 'react';
|
|
2
2
|
import { AuthContext } from './context';
|
|
3
3
|
export function useDeltaRequest() {
|
|
4
|
-
const
|
|
4
|
+
const ctx = useContext(AuthContext);
|
|
5
|
+
if (!ctx) {
|
|
6
|
+
throw new Error('useDeltaRequest must be used inside DeltaAuthProvider');
|
|
7
|
+
}
|
|
8
|
+
const { client, setDeltaUser } = ctx;
|
|
5
9
|
return async function deltaRequest(endpoint, options = {}) {
|
|
6
|
-
|
|
7
|
-
const user = await fetchUser();
|
|
8
|
-
if (!user) {
|
|
9
|
-
throw {
|
|
10
|
-
status: 401,
|
|
11
|
-
message: 'Unauthorized: Access token invalid or expired',
|
|
12
|
-
};
|
|
13
|
-
}
|
|
14
|
-
const method = options.method || 'GET';
|
|
10
|
+
const method = options.method ?? 'GET';
|
|
15
11
|
try {
|
|
16
|
-
const res = await client.request({
|
|
12
|
+
const res = await client.http.request({
|
|
17
13
|
url: endpoint,
|
|
18
14
|
method,
|
|
19
|
-
data: options.body,
|
|
15
|
+
data: options.body,
|
|
20
16
|
params: options.params,
|
|
21
17
|
headers: {
|
|
22
18
|
'Content-Type': 'application/json',
|
|
23
|
-
...(options.headers
|
|
19
|
+
...(options.headers ?? {}),
|
|
24
20
|
},
|
|
25
|
-
withCredentials: true, // cookies
|
|
26
21
|
});
|
|
27
22
|
return res.data;
|
|
28
23
|
}
|
|
29
24
|
catch (err) {
|
|
30
25
|
const error = err;
|
|
26
|
+
// 🔥 If backend says session expired → clear user
|
|
27
|
+
if (error.response?.status === 401) {
|
|
28
|
+
setDeltaUser(null);
|
|
29
|
+
}
|
|
31
30
|
throw {
|
|
32
|
-
status: error.response?.status
|
|
33
|
-
...(error.response?.data
|
|
31
|
+
status: error.response?.status ?? 500,
|
|
32
|
+
...(error.response?.data ?? {
|
|
34
33
|
message: error.message,
|
|
35
34
|
}),
|
|
36
35
|
};
|
|
37
36
|
}
|
|
38
37
|
};
|
|
39
38
|
}
|
|
39
|
+
// import { useContext } from 'react';
|
|
40
|
+
// import { AxiosError } from 'axios';
|
|
41
|
+
// import { AuthContext } from './context';
|
|
42
|
+
// type DeltaRequestOptions = {
|
|
43
|
+
// method?: 'GET' | 'POST' | 'PATCH' | 'PUT' | 'DELETE';
|
|
44
|
+
// headers?: Record<string, string>;
|
|
45
|
+
// body?: any;
|
|
46
|
+
// params?: Record<string, any>;
|
|
47
|
+
// };
|
|
48
|
+
// export function useDeltaRequest() {
|
|
49
|
+
// const { client, fetchUser } = useContext(AuthContext);
|
|
50
|
+
// return async function deltaRequest<T>(
|
|
51
|
+
// endpoint: string,
|
|
52
|
+
// options: DeltaRequestOptions = {}
|
|
53
|
+
// ): Promise<T> {
|
|
54
|
+
// // ✅ Ensure user authenticated
|
|
55
|
+
// const user = await fetchUser();
|
|
56
|
+
// if (!user) {
|
|
57
|
+
// throw {
|
|
58
|
+
// status: 401,
|
|
59
|
+
// message: 'Unauthorized: Access token invalid or expired',
|
|
60
|
+
// };
|
|
61
|
+
// }
|
|
62
|
+
// const method = options.method || 'GET';
|
|
63
|
+
// try {
|
|
64
|
+
// const res = await client.request<T>({
|
|
65
|
+
// url: endpoint,
|
|
66
|
+
// method,
|
|
67
|
+
// data: options.body, // axios uses data not body
|
|
68
|
+
// params: options.params,
|
|
69
|
+
// headers: {
|
|
70
|
+
// 'Content-Type': 'application/json',
|
|
71
|
+
// ...(options.headers || {}),
|
|
72
|
+
// },
|
|
73
|
+
// withCredentials: true, // cookies
|
|
74
|
+
// });
|
|
75
|
+
// return res.data;
|
|
76
|
+
// } catch (err) {
|
|
77
|
+
// const error = err as AxiosError<any>;
|
|
78
|
+
// throw {
|
|
79
|
+
// status: error.response?.status || 500,
|
|
80
|
+
// ...(error.response?.data || {
|
|
81
|
+
// message: error.message,
|
|
82
|
+
// }),
|
|
83
|
+
// };
|
|
84
|
+
// }
|
|
85
|
+
// };
|
|
86
|
+
// }
|
|
40
87
|
//# sourceMappingURL=UseDeltaRequest.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UseDeltaRequest.js","sourceRoot":"","sources":["../src/UseDeltaRequest.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AASxC,MAAM,UAAU,eAAe;IAC7B,MAAM,
|
|
1
|
+
{"version":3,"file":"UseDeltaRequest.js","sourceRoot":"","sources":["../src/UseDeltaRequest.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AAEnC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AASxC,MAAM,UAAU,eAAe;IAC7B,MAAM,GAAG,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAEpC,IAAI,CAAC,GAAG,EAAE,CAAC;QACT,MAAM,IAAI,KAAK,CAAC,uDAAuD,CAAC,CAAC;IAC3E,CAAC;IAED,MAAM,EAAE,MAAM,EAAE,YAAY,EAAE,GAAG,GAAG,CAAC;IAErC,OAAO,KAAK,UAAU,YAAY,CAChC,QAAgB,EAChB,UAA+B,EAAE;QAEjC,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,KAAK,CAAC;QAEvC,IAAI,CAAC;YACH,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,OAAO,CAAI;gBACvC,GAAG,EAAE,QAAQ;gBACb,MAAM;gBACN,IAAI,EAAE,OAAO,CAAC,IAAI;gBAClB,MAAM,EAAE,OAAO,CAAC,MAAM;gBACtB,OAAO,EAAE;oBACP,cAAc,EAAE,kBAAkB;oBAClC,GAAG,CAAC,OAAO,CAAC,OAAO,IAAI,EAAE,CAAC;iBAC3B;aACF,CAAC,CAAC;YAEH,OAAO,GAAG,CAAC,IAAI,CAAC;QAClB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,KAAK,GAAG,GAAsB,CAAC;YAErC,kDAAkD;YAClD,IAAI,KAAK,CAAC,QAAQ,EAAE,MAAM,KAAK,GAAG,EAAE,CAAC;gBACnC,YAAY,CAAC,IAAI,CAAC,CAAC;YACrB,CAAC;YAED,MAAM;gBACJ,MAAM,EAAE,KAAK,CAAC,QAAQ,EAAE,MAAM,IAAI,GAAG;gBACrC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,IAAI,IAAI;oBAC1B,OAAO,EAAE,KAAK,CAAC,OAAO;iBACvB,CAAC;aACH,CAAC;QACJ,CAAC;IACH,CAAC,CAAC;AACJ,CAAC;AAED,sCAAsC;AACtC,sCAAsC;AACtC,2CAA2C;AAE3C,+BAA+B;AAC/B,0DAA0D;AAC1D,sCAAsC;AACtC,gBAAgB;AAChB,kCAAkC;AAClC,KAAK;AAEL,sCAAsC;AACtC,2DAA2D;AAE3D,2CAA2C;AAC3C,wBAAwB;AACxB,wCAAwC;AACxC,oBAAoB;AACpB,qCAAqC;AACrC,sCAAsC;AACtC,mBAAmB;AACnB,gBAAgB;AAChB,uBAAuB;AACvB,oEAAoE;AACpE,WAAW;AACX,QAAQ;AAER,8CAA8C;AAE9C,YAAY;AACZ,8CAA8C;AAC9C,yBAAyB;AACzB,kBAAkB;AAClB,0DAA0D;AAC1D,kCAAkC;AAClC,qBAAqB;AACrB,gDAAgD;AAChD,wCAAwC;AACxC,aAAa;AACb,4CAA4C;AAC5C,YAAY;AAEZ,yBAAyB;AACzB,sBAAsB;AACtB,8CAA8C;AAE9C,gBAAgB;AAChB,iDAAiD;AACjD,wCAAwC;AACxC,oCAAoC;AACpC,cAAc;AACd,WAAW;AACX,QAAQ;AACR,OAAO;AACP,IAAI"}
|
package/dist/UseLogin.d.ts
CHANGED
package/dist/UseLogin.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UseLogin.d.ts","sourceRoot":"","sources":["../src/UseLogin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UseLogin.d.ts","sourceRoot":"","sources":["../src/UseLogin.ts"],"names":[],"mappings":"AAGA,wBAAgB,QAAQ,KAGd,UAAU;IAAE,UAAU,CAAC,EAAE,MAAM,CAAA;CAAE,UAG1C"}
|
package/dist/UseLogin.js
CHANGED
|
@@ -1,18 +1,26 @@
|
|
|
1
|
-
import { useContext } from 'react';
|
|
2
|
-
import { AuthContext } from './context';
|
|
3
1
|
import { useDeltaAuth } from './hooks';
|
|
4
2
|
export function useLogin() {
|
|
5
|
-
const
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
if (!ctx?.config?.authDomain || !ctx?.config?.publishableKey)
|
|
9
|
-
return;
|
|
10
|
-
const finalRedirect = app?.redirect_url || ctx.config.frontendUrl || window.location.origin;
|
|
11
|
-
const url = `${ctx.config.authDomain}/auth/signin` +
|
|
12
|
-
`?client_id=${ctx.config.publishableKey}` +
|
|
13
|
-
`&redirect_uri=${encodeURIComponent(finalRedirect)}`;
|
|
14
|
-
const redirect_to_app = app?.redirect_url || "/";
|
|
15
|
-
window.location.href = deltaUser ? redirect_to_app : url;
|
|
3
|
+
const { client } = useDeltaAuth();
|
|
4
|
+
return (options) => {
|
|
5
|
+
client.login(options);
|
|
16
6
|
};
|
|
17
7
|
}
|
|
8
|
+
// import { useContext } from 'react';
|
|
9
|
+
// import { AuthContext } from './context';
|
|
10
|
+
// import { useDeltaAuth } from './hooks';
|
|
11
|
+
// export function useLogin() {
|
|
12
|
+
// const ctx = useContext(AuthContext);
|
|
13
|
+
// const { deltaUser,app} = useDeltaAuth(); // ✅ renamed user to deltaUser
|
|
14
|
+
// return async() => {
|
|
15
|
+
// if (!ctx?.config?.authDomain || !ctx?.config?.publishableKey) return;
|
|
16
|
+
// const finalRedirect =
|
|
17
|
+
// app?.redirect_url || ctx.config.frontendUrl || window.location.origin;
|
|
18
|
+
// const url =
|
|
19
|
+
// `${ctx.config.authDomain}/auth/signin` +
|
|
20
|
+
// `?client_id=${ctx.config.publishableKey}` +
|
|
21
|
+
// `&redirect_uri=${encodeURIComponent(finalRedirect)}`;
|
|
22
|
+
// const redirect_to_app = app?.redirect_url || "/"
|
|
23
|
+
// window.location.href = deltaUser ? redirect_to_app : url;
|
|
24
|
+
// };
|
|
25
|
+
// }
|
|
18
26
|
//# sourceMappingURL=UseLogin.js.map
|
package/dist/UseLogin.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UseLogin.js","sourceRoot":"","sources":["../src/UseLogin.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"UseLogin.js","sourceRoot":"","sources":["../src/UseLogin.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAEvC,MAAM,UAAU,QAAQ;IACtB,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,EAAE,CAAC;IAElC,OAAO,CAAC,OAAiC,EAAE,EAAE;QAC3C,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;IACxB,CAAC,CAAC;AACJ,CAAC;AAQD,sCAAsC;AACtC,2CAA2C;AAC3C,0CAA0C;AAG1C,+BAA+B;AAC/B,yCAAyC;AACzC,4EAA4E;AAG5E,wBAAwB;AACxB,4EAA4E;AAG5E,4BAA4B;AAC5B,+EAA+E;AAE/E,kBAAkB;AAClB,iDAAiD;AACjD,oDAAoD;AACpD,8DAA8D;AAE9D,uDAAuD;AAEvD,iEAAiE;AACjE,OAAO;AACP,IAAI"}
|
package/dist/UseLogout.js
CHANGED
|
@@ -16,7 +16,7 @@ export function useLogout() {
|
|
|
16
16
|
// if (typeof window !== 'undefined') {
|
|
17
17
|
// window.location.href = url;
|
|
18
18
|
// }
|
|
19
|
-
const res = await client.get(url, {
|
|
19
|
+
const res = await client.http.get(url, {
|
|
20
20
|
headers: { 'x-delta-publishable-key': config.publishableKey },
|
|
21
21
|
withCredentials: true,
|
|
22
22
|
});
|
package/dist/UseLogout.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UseLogout.js","sourceRoot":"","sources":["../src/UseLogout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAMzC,MAAM,UAAU,SAAS;IACvB,MAAM,EAAE,MAAM,EAAE,GAAG,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,CAAC;IAEzC,MAAM,MAAM,GAAI,KAAK,EAAE,EAAE,WAAW,GAAG,KAAK,KAAsB,EAAE,EAAE,EAAE;QACtE,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,cAAc;YAAE,OAAO;QAE3D,MAAM,eAAe,GACnB,OAAO,MAAM,KAAK,WAAW;YAC3B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;YACxB,CAAC,CAAC,MAAM,EAAE,WAAW,IAAI,GAAG,CAAC;QAEjC,MAAM,aAAa,GAAG,GAAG,EAAE,YAAY,IAAG,eAAe,CAAC;QAE1D,MAAM,QAAQ,GAAG,cAAc,CAAC;QAEhC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,UAAU,GAAG,QAAQ,cACzC,MAAM,CAAC,cACT,iBAAiB,kBAAkB,CAAC,aAAa,CAAC,aAChD,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KACxB,EAAE,CAAC;QAEH,uCAAuC;QACvC,gCAAgC;QAChC,IAAI;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,GAAG,CAAC,GAAG,EAAE;
|
|
1
|
+
{"version":3,"file":"UseLogout.js","sourceRoot":"","sources":["../src/UseLogout.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,OAAO,CAAC;AACnC,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,cAAc,EAAE,MAAM,SAAS,CAAC;AAMzC,MAAM,UAAU,SAAS;IACvB,MAAM,EAAE,MAAM,EAAE,GAAG,EAAC,MAAM,EAAC,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACtD,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,GAAG,cAAc,EAAE,CAAC;IAEzC,MAAM,MAAM,GAAI,KAAK,EAAE,EAAE,WAAW,GAAG,KAAK,KAAsB,EAAE,EAAE,EAAE;QACtE,IAAI,CAAC,MAAM,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,cAAc;YAAE,OAAO;QAE3D,MAAM,eAAe,GACnB,OAAO,MAAM,KAAK,WAAW;YAC3B,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM;YACxB,CAAC,CAAC,MAAM,EAAE,WAAW,IAAI,GAAG,CAAC;QAEjC,MAAM,aAAa,GAAG,GAAG,EAAE,YAAY,IAAG,eAAe,CAAC;QAE1D,MAAM,QAAQ,GAAG,cAAc,CAAC;QAEhC,MAAM,GAAG,GAAG,GAAG,MAAM,CAAC,UAAU,GAAG,QAAQ,cACzC,MAAM,CAAC,cACT,iBAAiB,kBAAkB,CAAC,aAAa,CAAC,aAChD,WAAW,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,KACxB,EAAE,CAAC;QAEH,uCAAuC;QACvC,gCAAgC;QAChC,IAAI;QACJ,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,GAAG,EAAE;YACrC,OAAO,EAAE,EAAE,yBAAyB,EAAE,MAAM,CAAC,cAAc,EAAE;YAC7D,eAAe,EAAE,IAAI;SACtB,CAAC,CAAC;QACH,IAAG,GAAG,CAAC,IAAI,CAAC,OAAO,EAAC,CAAC;YAEnB,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,aAAa,CAAC;QACvC,CAAC;aACG,CAAC;YACH,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC;QACzB,CAAC;IACH,CAAC,CAAC;IACF,OAAO,MAAM,CAAA;AACf,CAAC"}
|
|
@@ -1,5 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
1
|
+
import { DeltaAuthConfig } from '../context';
|
|
2
|
+
export declare function createAuthClient(config: DeltaAuthConfig): {
|
|
3
|
+
http: import("axios").AxiosInstance;
|
|
4
|
+
getCurrentUser: () => Promise<{
|
|
5
|
+
user: any;
|
|
6
|
+
application: any;
|
|
7
|
+
}>;
|
|
8
|
+
login: (options?: {
|
|
9
|
+
redirectTo?: string;
|
|
10
|
+
}) => Promise<void>;
|
|
11
|
+
logout: () => Promise<void>;
|
|
12
|
+
};
|
|
5
13
|
//# sourceMappingURL=authClient.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authClient.d.ts","sourceRoot":"","sources":["../../src/client/authClient.ts"],"names":[],"mappings":"AAGA,
|
|
1
|
+
{"version":3,"file":"authClient.d.ts","sourceRoot":"","sources":["../../src/client/authClient.ts"],"names":[],"mappings":"AAGA,OAAO,EAAC,eAAe,EAAC,MAAM,YAAY,CAAA;AAS1C,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,eAAe;;;;;;sBAyBvB;QAAE,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE;;EAqCvD"}
|
|
@@ -1,14 +1,74 @@
|
|
|
1
1
|
// src/client/authClient.ts
|
|
2
|
-
import
|
|
2
|
+
import { createHttpClient } from './http';
|
|
3
|
+
// export interface AuthClientConfig {
|
|
4
|
+
// backendUrl?: string;
|
|
5
|
+
// publishableKey?: string;
|
|
6
|
+
// authDomain?: string;
|
|
7
|
+
// appType?: 'spa' | 'web';
|
|
8
|
+
// }
|
|
3
9
|
export function createAuthClient(config) {
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
}
|
|
11
|
-
}
|
|
12
|
-
|
|
10
|
+
const http = createHttpClient(config);
|
|
11
|
+
async function getCurrentUser() {
|
|
12
|
+
const res = await http.get('/auth/me');
|
|
13
|
+
return {
|
|
14
|
+
user: res.data?.data?.user ?? null,
|
|
15
|
+
application: res.data?.secured_application ?? null,
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
async function generatePKCE() {
|
|
19
|
+
const verifier = crypto.randomUUID() + crypto.randomUUID();
|
|
20
|
+
const encoder = new TextEncoder();
|
|
21
|
+
const data = encoder.encode(verifier);
|
|
22
|
+
const digest = await crypto.subtle.digest('SHA-256', data);
|
|
23
|
+
const challenge = btoa(String.fromCharCode(...new Uint8Array(digest)))
|
|
24
|
+
.replace(/\+/g, '-')
|
|
25
|
+
.replace(/\//g, '_')
|
|
26
|
+
.replace(/=+$/, '');
|
|
27
|
+
return { verifier, challenge };
|
|
28
|
+
}
|
|
29
|
+
async function login(options) {
|
|
30
|
+
if (!config.authDomain || !config.publishableKey)
|
|
31
|
+
return;
|
|
32
|
+
const redirectUri = options?.redirectTo || window.location.origin;
|
|
33
|
+
const state = crypto.randomUUID();
|
|
34
|
+
sessionStorage.setItem('delta_state', state);
|
|
35
|
+
let url = `${config.authDomain}/api/auth/authorize` +
|
|
36
|
+
`?client_id=${config.publishableKey}` +
|
|
37
|
+
`&response_type=code` +
|
|
38
|
+
`&redirect_uri=${encodeURIComponent(redirectUri)}` +
|
|
39
|
+
`&state=${state}`;
|
|
40
|
+
if (config.appType === 'spa') {
|
|
41
|
+
const { verifier, challenge } = await generatePKCE();
|
|
42
|
+
sessionStorage.setItem('delta_pkce_verifier', verifier);
|
|
43
|
+
url += `&code_challenge=${challenge}` + `&code_challenge_method=S256`;
|
|
44
|
+
}
|
|
45
|
+
window.location.href = url;
|
|
46
|
+
}
|
|
47
|
+
async function logout() {
|
|
48
|
+
await http.post('/auth/logout');
|
|
49
|
+
window.location.reload();
|
|
50
|
+
}
|
|
51
|
+
return {
|
|
52
|
+
http,
|
|
53
|
+
getCurrentUser,
|
|
54
|
+
login,
|
|
55
|
+
logout,
|
|
56
|
+
};
|
|
13
57
|
}
|
|
58
|
+
// src/client/authClient.ts
|
|
59
|
+
// import axios from 'axios';
|
|
60
|
+
// export function createAuthClient(config: {
|
|
61
|
+
// backendUrl?: string;
|
|
62
|
+
// publishableKey?: string;
|
|
63
|
+
// }) {
|
|
64
|
+
// const baseURL = config.backendUrl ?? '/api';
|
|
65
|
+
// const client = axios.create({
|
|
66
|
+
// baseURL,
|
|
67
|
+
// withCredentials: true, // send cookies
|
|
68
|
+
// headers: {
|
|
69
|
+
// 'x-delta-publishable-key': config.publishableKey,
|
|
70
|
+
// },
|
|
71
|
+
// });
|
|
72
|
+
// return client;
|
|
73
|
+
// }
|
|
14
74
|
//# sourceMappingURL=authClient.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"authClient.js","sourceRoot":"","sources":["../../src/client/authClient.ts"],"names":[],"mappings":"AAAA,2BAA2B;
|
|
1
|
+
{"version":3,"file":"authClient.js","sourceRoot":"","sources":["../../src/client/authClient.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/client/http.ts"],"names":[],"mappings":"AAGA,wBAAgB,gBAAgB,CAAC,MAAM,EAAE;IACvC,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB,iCAQA"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
// src/client/http.ts
|
|
2
|
+
import axios from 'axios';
|
|
3
|
+
export function createHttpClient(config) {
|
|
4
|
+
return axios.create({
|
|
5
|
+
baseURL: config.backendUrl ?? '/api',
|
|
6
|
+
withCredentials: true,
|
|
7
|
+
headers: {
|
|
8
|
+
'x-delta-publishable-key': config.publishableKey,
|
|
9
|
+
},
|
|
10
|
+
});
|
|
11
|
+
}
|
|
12
|
+
//# sourceMappingURL=http.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/client/http.ts"],"names":[],"mappings":"AAAA,qBAAqB;AACrB,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,gBAAgB,CAAC,MAGhC;IACC,OAAO,KAAK,CAAC,MAAM,CAAC;QAClB,OAAO,EAAE,MAAM,CAAC,UAAU,IAAI,MAAM;QACpC,eAAe,EAAE,IAAI;QACrB,OAAO,EAAE;YACP,yBAAyB,EAAE,MAAM,CAAC,cAAc;SACjD;KACF,CAAC,CAAC;AACL,CAAC"}
|
package/dist/context.d.ts
CHANGED
package/dist/context.d.ts.map
CHANGED
|
@@ -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;
|
|
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;AACD,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,IAAI,GAAG,IAAI,CAAC;IACvB,OAAO,EAAE,OAAO,CAAC;IACjB,GAAG,EAAC,OAAO,GAAG,IAAI,CAAA;IAClB,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,IAAI,GAAG,IAAI,CAAC,CAAC;IACtC,MAAM,EAAE,eAAe,CAAC;CACzB;AAED,eAAO,MAAM,WAAW,2CAUtB,CAAC"}
|
package/dist/context.js.map
CHANGED
|
@@ -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;
|
|
1
|
+
{"version":3,"file":"context.js","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAAA,iBAAiB;AACjB,OAAO,EAAE,aAAa,EAAE,MAAM,OAAO,CAAC;AA0BtC,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,MAAM,EAAE,EAAS;IACjB,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;IAC3B,MAAM,EAAE,EAAqB;CAC9B,CAAC,CAAC"}
|
package/dist/types.d.ts
CHANGED
|
@@ -5,6 +5,7 @@ export interface AppProp {
|
|
|
5
5
|
avatar: string;
|
|
6
6
|
redirect_url: string;
|
|
7
7
|
sign_in_style: string;
|
|
8
|
+
app_type: string;
|
|
8
9
|
app_avatar?: string;
|
|
9
10
|
app_policy?: string;
|
|
10
11
|
model_config?: any;
|
|
@@ -17,10 +18,12 @@ export interface User {
|
|
|
17
18
|
org: string;
|
|
18
19
|
username: string;
|
|
19
20
|
avatar: string;
|
|
21
|
+
d_env: string;
|
|
20
22
|
mode: string;
|
|
21
23
|
full_name: string;
|
|
22
24
|
first_name: string;
|
|
23
25
|
last_name: string;
|
|
26
|
+
last_seen: string;
|
|
24
27
|
initials: string;
|
|
25
28
|
platform_role: 'admin' | 'client' | 'system_host' | 'system_admin' | 'editor' | 'viewer' | 'developer' | 'host_admin';
|
|
26
29
|
is_admin: boolean;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAC,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAA;IACZ,WAAW,CAAC,EAAC,MAAM,CAAA;IACnB,QAAQ,EAAE,MAAM,CAAA;IAChB,MAAM,EAAE,MAAM,CAAA;IACd,YAAY,EAAE,MAAM,CAAA;IACpB,aAAa,EAAE,MAAM,CAAA;IACrB,QAAQ,EAAE,MAAM,CAAA;IAGhB,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,UAAU,CAAC,EAAC,MAAM,CAAA;IAElB,YAAa,CAAC,EAAC,GAAG,CAAA;CACnB;AACD,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,GAAG,EAAE,MAAM,CAAC;IACZ,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EACT,OAAO,GACP,QAAQ,GACR,aAAa,GACb,cAAc,GACd,QAAQ,GACR,QAAQ,GACR,WAAW,GACX,YAAY,CAAC;IACjB,QAAQ,EAAE,OAAO,CAAC;IAClB,aAAa,EAAE,OAAO,CAAC;IACvB,kBAAkB,CAAC,EAAE,MAAM,CAAC;IAC5B,MAAM,EAAE,OAAO,CAAC;IAChB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,WAAW,EAAE,MAAM,EAAE,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACvC;AACD,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACZ"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "delta-auth-next",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.66",
|
|
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",
|