delta-auth-next 0.1.30 → 0.1.31

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":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAiB,MAAM,SAAS,CAAC;AAGzD,UAAU,KAAK;IACb,MAAM,EAAE,eAAe,CAAC;IACxB,QAAQ,EAAE,KAAK,CAAC,SAAS,CAAC;CAC3B;AAID,wBAAgB,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAE,EAAE,KAAK,2CAkH5D"}
1
+ {"version":3,"file":"DeltaProvider.d.ts","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"AACA,OAAO,KAA2C,MAAM,OAAO,CAAC;AAGhE,OAAO,EAAE,eAAe,EAAQ,MAAM,SAAS,CAAC;AAGhD,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,2CAiG5D"}
@@ -4,15 +4,12 @@ import { useState, useEffect, useCallback } from 'react';
4
4
  import { AuthContext } from './context';
5
5
  import { createAuthClient } from './client/authClient';
6
6
  import { useSimpleToast } from './alert';
7
- // export Appconfigs = ()=> {
8
- // return
9
- // }
10
7
  export function DeltaAuthProvider({ config, children }) {
11
- const [session, setSession] = useState(null);
8
+ const [user, setUser] = useState(null);
12
9
  const [loading, setLoading] = useState(true);
13
10
  const [enabled, setEnabled] = useState(true); // disables provider if misconfigured
14
11
  const { show, Toast } = useSimpleToast();
15
- // 🔹 Disable if no publishable key
12
+ // 🔹 Disable provider if misconfigured
16
13
  useEffect(() => {
17
14
  if (!config?.publishableKey) {
18
15
  show('DeltaAuth: publishableKey is required');
@@ -22,46 +19,28 @@ export function DeltaAuthProvider({ config, children }) {
22
19
  show('DeltaAuth: authDomain is required');
23
20
  setEnabled(false);
24
21
  }
25
- }, [config?.publishableKey]);
26
- // 🔹 Create client only if enabled
22
+ }, [config?.publishableKey, config?.authDomain, show]);
23
+ // 🔹 Create client
27
24
  const client = createAuthClient(config.backendUrl ? { backendUrl: config.backendUrl } : {});
28
- // 🔹 Fetch current session
29
- const fetchSession = useCallback(async () => {
25
+ // 🔹 Fetch user from backend (httpOnly cookie)
26
+ const fetchUser = useCallback(async () => {
30
27
  if (!enabled || !client)
31
- return;
28
+ return null; // always return User | null
32
29
  try {
33
- const res = await client.get('/auth/me'); // cookie-based
34
- if (res.data?.data?.user) {
35
- setSession(res.data.data);
36
- }
37
- else {
38
- setSession(null);
39
- }
30
+ const res = await client.get('/api/auth/me'); // backend validates httpOnly cookie
31
+ const userFromRes = res.data?.user ?? null;
32
+ setUser(userFromRes);
33
+ return userFromRes;
40
34
  }
41
- catch (err) {
42
- setSession(null);
43
- if (config.showAlerts ?? true) {
44
- show(err.response?.data?.error ?? 'Auth failed');
45
- }
35
+ catch {
36
+ setUser(null);
37
+ return null;
46
38
  }
47
39
  finally {
48
40
  setLoading(false);
49
41
  }
50
- }, [client, enabled, config.showAlerts, show]);
51
- // 🔹 Fetch detailed user info
52
- const fetchUserDetails = useCallback(async () => {
53
- if (!session?.user || !client)
54
- return null;
55
- try {
56
- const res = await client.get(`/users/${session.user.id}`);
57
- setSession((prev) => (prev ? { ...prev, user: res.data } : null));
58
- return res.data;
59
- }
60
- catch {
61
- return session.user; // fallback
62
- }
63
- }, [client, session]);
64
- // 🔹 Environment mismatch warnings
42
+ }, [client, enabled]);
43
+ // 🔹 Environment warnings
65
44
  useEffect(() => {
66
45
  if (!enabled)
67
46
  return;
@@ -77,24 +56,23 @@ export function DeltaAuthProvider({ config, children }) {
77
56
  show('You are using a test key in production. Use a live key.');
78
57
  }
79
58
  if (enabled)
80
- fetchSession();
81
- }, [config.publishableKey, fetchSession, enabled, show]);
82
- // 🔹 Auto refresh session
59
+ fetchUser();
60
+ }, [config.publishableKey, fetchUser, enabled, show]);
61
+ // 🔹 Auto-refresh user
83
62
  useEffect(() => {
84
63
  if (!enabled || !config.autoRefresh)
85
64
  return;
86
- const interval = setInterval(fetchSession, config.refreshInterval ?? 5 * 60 * 1000);
65
+ const interval = setInterval(fetchUser, config.refreshInterval ?? 5 * 60 * 1000);
87
66
  return () => clearInterval(interval);
88
- }, [fetchSession, config.autoRefresh, config.refreshInterval, enabled]);
67
+ }, [fetchUser, config.autoRefresh, config.refreshInterval, enabled]);
89
68
  if (!enabled)
90
69
  return _jsx(_Fragment, { children: children }); // render children without auth if disabled
91
70
  return (_jsxs(_Fragment, { children: [_jsx(AuthContext.Provider, { value: {
92
- session,
93
- user: session?.user ?? null,
71
+ user,
94
72
  loading,
95
- isAuthenticated: !!session,
73
+ isAuthenticated: !!user,
96
74
  client,
97
- fetchUser: fetchUserDetails,
75
+ fetchUser,
98
76
  }, children: children }), _jsx(Toast, {}), " "] }));
99
77
  }
100
78
  //# 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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"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
+ className?: string;
4
+ redirectUrl?: string;
5
+ }
6
+ export declare const LoginButton: ({ className, redirectUrl, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=LoginButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginButton.d.ts","sourceRoot":"","sources":["../src/LoginButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,WAAW,GAAI,sCAIzB,WAAW,4CAcb,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export const LoginButton = ({ className, redirectUrl = '/login', ...props }) => {
3
+ const defaultClasses = 'px-6 py-2 rounded-lg bg-green-600 text-white font-semibold hover:bg-green-700 transition-all duration-300';
4
+ return (_jsx("button", { className: `${defaultClasses} ${className || ''}`, onClick: () => {
5
+ window.location.href = redirectUrl;
6
+ }, ...props, children: "Log In" }));
7
+ };
8
+ //# sourceMappingURL=LoginButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LoginButton.js","sourceRoot":"","sources":["../src/LoginButton.tsx"],"names":[],"mappings":";AAQA,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,EAC1B,SAAS,EACT,WAAW,GAAG,QAAQ,EACtB,GAAG,KAAK,EACI,EAAE,EAAE;IAChB,MAAM,cAAc,GAClB,2GAA2G,CAAC;IAC9G,OAAO,CACL,iBACE,SAAS,EAAE,GAAG,cAAc,IAAI,SAAS,IAAI,EAAE,EAAE,EACjD,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;QACrC,CAAC,KACG,KAAK,uBAGF,CACV,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
+ className?: string;
4
+ redirectUrl?: string;
5
+ }
6
+ export declare const LogoutButton: ({ className, redirectUrl, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=LogoutButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogoutButton.d.ts","sourceRoot":"","sources":["../src/LogoutButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,YAAY,GAAI,sCAI1B,WAAW,4CAcb,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export const LogoutButton = ({ className, redirectUrl = '/', ...props }) => {
3
+ const defaultClasses = 'px-6 py-2 rounded-lg bg-green-600 text-white font-semibold hover:bg-green-700 transition-all duration-300';
4
+ return (_jsx("button", { className: `${defaultClasses} ${className || ''}`, onClick: () => {
5
+ window.location.href = redirectUrl;
6
+ }, ...props, children: "Log Out" }));
7
+ };
8
+ //# sourceMappingURL=LogoutButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LogoutButton.js","sourceRoot":"","sources":["../src/LogoutButton.tsx"],"names":[],"mappings":";AAQA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,SAAS,EACT,WAAW,GAAG,GAAG,EACjB,GAAG,KAAK,EACI,EAAE,EAAE;IAChB,MAAM,cAAc,GAClB,2GAA2G,CAAC;IAC9G,OAAO,CACL,iBACE,SAAS,EAAE,GAAG,cAAc,IAAI,SAAS,IAAI,EAAE,EAAE,EACjD,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;QACrC,CAAC,KACG,KAAK,wBAGF,CACV,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,9 @@
1
+ import React, { ReactNode } from 'react';
2
+ interface Props {
3
+ children: ReactNode;
4
+ redirect?: () => void;
5
+ fallback?: ReactNode;
6
+ }
7
+ export declare const ProtectedRoute: React.FC<Props>;
8
+ export {};
9
+ //# sourceMappingURL=ProtectedRoute.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtectedRoute.d.ts","sourceRoot":"","sources":["../src/ProtectedRoute.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,EAAE,SAAS,EAAyB,MAAM,OAAO,CAAC;AAGhE,UAAU,KAAK;IACb,QAAQ,EAAE,SAAS,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,IAAI,CAAC;IACtB,QAAQ,CAAC,EAAE,SAAS,CAAC;CACtB;AAED,eAAO,MAAM,cAAc,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CAyB1C,CAAC"}
@@ -0,0 +1,18 @@
1
+ 'use client';
2
+ import { jsx as _jsx, Fragment as _Fragment } from "react/jsx-runtime";
3
+ import { useContext, useEffect } from 'react';
4
+ import { AuthContext } from './context';
5
+ export const ProtectedRoute = ({ children, redirect, fallback, }) => {
6
+ const { user, loading } = useContext(AuthContext);
7
+ useEffect(() => {
8
+ if (!loading && !user && redirect) {
9
+ redirect();
10
+ }
11
+ }, [user, loading, redirect]);
12
+ if (loading)
13
+ return (fallback ?? (_jsx("div", { className: "flex justify-center items-center h-screen bg-gray-50 animate-pulse", children: _jsx("div", { className: "w-16 h-16 bg-gray-300 rounded-full" }) })));
14
+ if (!user)
15
+ return null;
16
+ return _jsx(_Fragment, { children: children });
17
+ };
18
+ //# sourceMappingURL=ProtectedRoute.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ProtectedRoute.js","sourceRoot":"","sources":["../src/ProtectedRoute.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAc,EAAa,UAAU,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAQxC,MAAM,CAAC,MAAM,cAAc,GAAoB,CAAC,EAC9C,QAAQ,EACR,QAAQ,EACR,QAAQ,GACT,EAAE,EAAE;IACH,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IAElD,SAAS,CAAC,GAAG,EAAE;QACb,IAAI,CAAC,OAAO,IAAI,CAAC,IAAI,IAAI,QAAQ,EAAE,CAAC;YAClC,QAAQ,EAAE,CAAC;QACb,CAAC;IACH,CAAC,EAAE,CAAC,IAAI,EAAE,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC;IAE9B,IAAI,OAAO;QACT,OAAO,CACL,QAAQ,IAAI,CACV,cAAK,SAAS,EAAC,oEAAoE,YACjF,cAAK,SAAS,EAAC,oCAAoC,GAAG,GAClD,CACP,CACF,CAAC;IAEJ,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,OAAO,4BAAG,QAAQ,GAAI,CAAC;AACzB,CAAC,CAAC"}
@@ -0,0 +1,8 @@
1
+ import React from 'react';
2
+ interface ButtonProps extends React.ButtonHTMLAttributes<HTMLButtonElement> {
3
+ className?: string;
4
+ redirectUrl?: string;
5
+ }
6
+ export declare const SignInButton: ({ className, redirectUrl, ...props }: ButtonProps) => import("react/jsx-runtime").JSX.Element;
7
+ export {};
8
+ //# sourceMappingURL=SignInButton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignInButton.d.ts","sourceRoot":"","sources":["../src/SignInButton.tsx"],"names":[],"mappings":"AACA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,UAAU,WAAY,SAAQ,KAAK,CAAC,oBAAoB,CAAC,iBAAiB,CAAC;IACzE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,eAAO,MAAM,YAAY,GAAI,sCAI1B,WAAW,4CAcb,CAAC"}
@@ -0,0 +1,8 @@
1
+ import { jsx as _jsx } from "react/jsx-runtime";
2
+ export const SignInButton = ({ className, redirectUrl = '/signin', ...props }) => {
3
+ const defaultClasses = 'px-6 py-2 rounded-lg bg-indigo-600 text-white font-semibold hover:bg-indigo-700 transition-all duration-300';
4
+ return (_jsx("button", { className: `${defaultClasses} ${className || ''}`, onClick: () => {
5
+ window.location.href = redirectUrl;
6
+ }, ...props, children: "Sign In" }));
7
+ };
8
+ //# sourceMappingURL=SignInButton.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SignInButton.js","sourceRoot":"","sources":["../src/SignInButton.tsx"],"names":[],"mappings":";AAQA,MAAM,CAAC,MAAM,YAAY,GAAG,CAAC,EAC3B,SAAS,EACT,WAAW,GAAG,SAAS,EACvB,GAAG,KAAK,EACI,EAAE,EAAE;IAChB,MAAM,cAAc,GAClB,6GAA6G,CAAC;IAChH,OAAO,CACL,iBACE,SAAS,EAAE,GAAG,cAAc,IAAI,SAAS,IAAI,EAAE,EAAE,EACjD,OAAO,EAAE,GAAG,EAAE;YACZ,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;QACrC,CAAC,KACG,KAAK,wBAGF,CACV,CAAC;AACJ,CAAC,CAAC"}
@@ -0,0 +1,7 @@
1
+ import React from 'react';
2
+ interface Props {
3
+ className?: string;
4
+ }
5
+ export declare const UserProfile: React.FC<Props>;
6
+ export {};
7
+ //# sourceMappingURL=UserProfile.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserProfile.d.ts","sourceRoot":"","sources":["../src/UserProfile.tsx"],"names":[],"mappings":"AACA,OAAO,KAA+B,MAAM,OAAO,CAAC;AAGpD,UAAU,KAAK;IACb,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,eAAO,MAAM,WAAW,EAAE,KAAK,CAAC,EAAE,CAAC,KAAK,CA0CvC,CAAC"}
@@ -0,0 +1,15 @@
1
+ 'use client';
2
+ import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
3
+ import { useContext, useState } from 'react';
4
+ import { AuthContext } from './context';
5
+ export const UserProfile = ({ className }) => {
6
+ const { user, fetchUser } = useContext(AuthContext);
7
+ const [menuOpen, setMenuOpen] = useState(false);
8
+ if (!user)
9
+ return null;
10
+ return (_jsxs("div", { className: `relative inline-block text-left ${className ?? ''}`, children: [_jsxs("button", { onClick: () => setMenuOpen(!menuOpen), className: "flex items-center space-x-2 p-2 rounded-full hover:bg-gray-200 transition", children: [user.avatar && (_jsx("img", { src: user.avatar, alt: user.full_name ?? 'User', className: "w-8 h-8 rounded-full" })), _jsx("span", { className: "hidden sm:block font-medium text-gray-700", children: user.full_name })] }), menuOpen && (_jsxs("div", { className: "absolute right-0 mt-2 w-48 bg-white shadow-lg rounded-md border border-gray-200 animate-fade-in z-50", children: [_jsx("div", { className: "px-4 py-2 text-gray-700 font-medium border-b border-gray-100", children: user.email }), _jsx("button", { onClick: async () => {
11
+ await fetch('/api/auth/logout', { method: 'POST' });
12
+ await fetchUser();
13
+ }, className: "w-full text-left px-4 py-2 hover:bg-gray-100 transition", children: "Sign Out" })] }))] }));
14
+ };
15
+ //# sourceMappingURL=UserProfile.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"UserProfile.js","sourceRoot":"","sources":["../src/UserProfile.tsx"],"names":[],"mappings":"AAAA,YAAY,CAAC;;AACb,OAAc,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,OAAO,CAAC;AACpD,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AAMxC,MAAM,CAAC,MAAM,WAAW,GAAoB,CAAC,EAAE,SAAS,EAAE,EAAE,EAAE;IAC5D,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,GAAG,UAAU,CAAC,WAAW,CAAC,CAAC;IACpD,MAAM,CAAC,QAAQ,EAAE,WAAW,CAAC,GAAG,QAAQ,CAAC,KAAK,CAAC,CAAC;IAEhD,IAAI,CAAC,IAAI;QAAE,OAAO,IAAI,CAAC;IAEvB,OAAO,CACL,eAAK,SAAS,EAAE,mCAAmC,SAAS,IAAI,EAAE,EAAE,aAClE,kBACE,OAAO,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,CAAC,QAAQ,CAAC,EACrC,SAAS,EAAC,2EAA2E,aAEpF,IAAI,CAAC,MAAM,IAAI,CACd,cACE,GAAG,EAAE,IAAI,CAAC,MAAM,EAChB,GAAG,EAAE,IAAI,CAAC,SAAS,IAAI,MAAM,EAC7B,SAAS,EAAC,sBAAsB,GAChC,CACH,EACD,eAAM,SAAS,EAAC,2CAA2C,YACxD,IAAI,CAAC,SAAS,GACV,IACA,EAER,QAAQ,IAAI,CACX,eAAK,SAAS,EAAC,sGAAsG,aACnH,cAAK,SAAS,EAAC,8DAA8D,YAC1E,IAAI,CAAC,KAAK,GACP,EACN,iBACE,OAAO,EAAE,KAAK,IAAI,EAAE;4BAClB,MAAM,KAAK,CAAC,kBAAkB,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;4BACpD,MAAM,SAAS,EAAE,CAAC;wBACpB,CAAC,EACD,SAAS,EAAC,yDAAyD,yBAG5D,IACL,CACP,IACG,CACP,CAAC;AACJ,CAAC,CAAC"}
package/dist/context.d.ts CHANGED
@@ -1,6 +1,5 @@
1
- import { Session, User } from './types';
1
+ import { User } from './types';
2
2
  export interface AuthContextValue {
3
- session: Session | null;
4
3
  user: User | null;
5
4
  loading: boolean;
6
5
  isAuthenticated: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,GAAG,IAAI,CAAC;IACxB,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,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;CACvC;AAED,eAAO,MAAM,WAAW,2CAOtB,CAAC"}
1
+ {"version":3,"file":"context.d.ts","sourceRoot":"","sources":["../src/context.ts"],"names":[],"mappings":"AAEA,OAAO,EAAW,IAAI,EAAE,MAAM,SAAS,CAAC;AAExC,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,IAAI,GAAG,IAAI,CAAC;IAClB,OAAO,EAAE,OAAO,CAAC;IACjB,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;CACvC;AAED,eAAO,MAAM,WAAW,2CAMtB,CAAC"}
package/dist/context.js CHANGED
@@ -1,7 +1,6 @@
1
1
  // src/context.ts
2
2
  import { createContext } from 'react';
3
3
  export const AuthContext = createContext({
4
- session: null,
5
4
  user: null,
6
5
  loading: true,
7
6
  isAuthenticated: false,
@@ -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;AAYtC,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAmB;IACzD,OAAO,EAAE,IAAI;IACb,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI;IACb,eAAe,EAAE,KAAK;IACtB,MAAM,EAAE,EAAS;IACjB,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;CAC5B,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;AAWtC,MAAM,CAAC,MAAM,WAAW,GAAG,aAAa,CAAmB;IACzD,IAAI,EAAE,IAAI;IACV,OAAO,EAAE,IAAI;IACb,eAAe,EAAE,KAAK;IACtB,MAAM,EAAE,EAAS;IACjB,SAAS,EAAE,KAAK,IAAI,EAAE,CAAC,IAAI;CAC5B,CAAC,CAAC"}
@@ -5,7 +5,10 @@ interface DeltaAuthConfig {
5
5
  showAlerts?: boolean;
6
6
  backendUrl?: string;
7
7
  authDomain?: string;
8
+ frontendUrl?: string;
8
9
  }
9
10
  export declare function GetsigninUrl(pathname: string, config: DeltaAuthConfig, origin: string): string;
11
+ export declare function GetLogoutUrl(pathname: string, config: DeltaAuthConfig, redirectTo: string, frontendUrl: string): string;
12
+ export declare function GetLogoutAllsessionsUrl(pathname: string, config: DeltaAuthConfig, redirectTo: string, frontendUrl: string): string;
10
13
  export {};
11
14
  //# sourceMappingURL=middleware-helper.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware-helper.d.ts","sourceRoot":"","sources":["../../src/edge/middleware-helper.ts"],"names":[],"mappings":"AACA,UAAU,eAAe;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAGD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAC,MAAM,EAAC,MAAM,UAUnF"}
1
+ {"version":3,"file":"middleware-helper.d.ts","sourceRoot":"","sources":["../../src/edge/middleware-helper.ts"],"names":[],"mappings":"AACA,UAAU,eAAe;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAC,MAAM,EAAC,MAAM,UAUnF;AACD,wBAAgB,YAAY,CAAC,QAAQ,EAAE,MAAM,EAAE,MAAM,EAAE,eAAe,EAAC,UAAU,EAAC,MAAM,EAAC,WAAW,EAAC,MAAM,UAU1G;AACD,wBAAgB,uBAAuB,CACrC,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,eAAe,EACvB,UAAU,EAAE,MAAM,EAClB,WAAW,EAAE,MAAM,UAYpB"}
@@ -1,10 +1,28 @@
1
1
  export function GetsigninUrl(pathname, config, origin) {
2
2
  if (pathname === '/api/signin') {
3
- const signinUrl = `${config.authDomain}/signin?client_id=${config.publishableKey}&redirect_uri=${encodeURIComponent(origin)}`;
3
+ const signinUrl = `${config.authDomain}/api/auth/signin?client_id=${config.publishableKey}&redirect_uri=${encodeURIComponent(origin)}`;
4
4
  return signinUrl;
5
5
  }
6
6
  else {
7
7
  return pathname;
8
8
  }
9
9
  }
10
+ export function GetLogoutUrl(pathname, config, redirectTo, frontendUrl) {
11
+ if (pathname === '/api/logout') {
12
+ const logoutUrl = `${config.authDomain}/api/auth/logout?client_id=${config.publishableKey}&redirect_uri=${encodeURIComponent(redirectTo)}`;
13
+ return logoutUrl;
14
+ }
15
+ else {
16
+ return pathname;
17
+ }
18
+ }
19
+ export function GetLogoutAllsessionsUrl(pathname, config, redirectTo, frontendUrl) {
20
+ if (pathname === '/api/logoutallsessions') {
21
+ const logoutUrl = `${config.authDomain}/api/auth/logoutallsessions?client_id=${config.publishableKey}&redirect_uri=${encodeURIComponent(redirectTo || frontendUrl)}`;
22
+ return logoutUrl;
23
+ }
24
+ else {
25
+ return pathname;
26
+ }
27
+ }
10
28
  //# sourceMappingURL=middleware-helper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"middleware-helper.js","sourceRoot":"","sources":["../../src/edge/middleware-helper.ts"],"names":[],"mappings":"AAWA,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,MAAuB,EAAC,MAAa;IAClF,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAW,GAAG,MAAM,CAAC,UAAU,qBAC5C,MAAM,CAAC,cACT,iBAAiB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAA;IAClB,CAAC;SACG,CAAC;QACH,OAAO,QAAQ,CAAA;IACjB,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"middleware-helper.js","sourceRoot":"","sources":["../../src/edge/middleware-helper.ts"],"names":[],"mappings":"AAYA,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,MAAuB,EAAC,MAAa;IAClF,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAW,GAAG,MAAM,CAAC,UAAU,8BAC5C,MAAM,CAAC,cACT,iBAAiB,kBAAkB,CAAC,MAAM,CAAC,EAAE,CAAC;QAC9C,OAAO,SAAS,CAAA;IAClB,CAAC;SACG,CAAC;QACH,OAAO,QAAQ,CAAA;IACjB,CAAC;AACH,CAAC;AACD,MAAM,UAAU,YAAY,CAAC,QAAgB,EAAE,MAAuB,EAAC,UAAiB,EAAC,WAAkB;IACzG,IAAI,QAAQ,KAAK,aAAa,EAAE,CAAC;QAC/B,MAAM,SAAS,GAAW,GAAG,MAAM,CAAC,UAAU,8BAC5C,MAAM,CAAC,cACT,iBAAiB,kBAAkB,CAAC,UAAU,CAAC,EAAE,CAAC;QAClD,OAAO,SAAS,CAAA;IAClB,CAAC;SACG,CAAC;QACH,OAAO,QAAQ,CAAA;IACjB,CAAC;AACH,CAAC;AACD,MAAM,UAAU,uBAAuB,CACrC,QAAgB,EAChB,MAAuB,EACvB,UAAkB,EAClB,WAAmB;IAEnB,IAAI,QAAQ,KAAK,wBAAwB,EAAE,CAAC;QAC1C,MAAM,SAAS,GAAW,GACxB,MAAM,CAAC,UACT,yCACE,MAAM,CAAC,cACT,iBAAiB,kBAAkB,CAAC,UAAU,IAAI,WAAW,CAAC,EAAE,CAAC;QACjE,OAAO,SAAS,CAAC;IACnB,CAAC;SAAM,CAAC;QACN,OAAO,QAAQ,CAAC;IAClB,CAAC;AACH,CAAC"}
package/dist/types.d.ts CHANGED
@@ -14,6 +14,26 @@ export interface User {
14
14
  role: string;
15
15
  public_metadata?: Record<string, any>;
16
16
  }
17
+ export interface User {
18
+ id: string;
19
+ email: string;
20
+ org: string;
21
+ avatar: string;
22
+ full_name: string;
23
+ first_name: string;
24
+ last_name: string;
25
+ initials: string;
26
+ platform_role?: 'admin' | 'client' | 'host' | 'organization';
27
+ is_admin: boolean;
28
+ session_expires_at?: string;
29
+ is_org: boolean;
30
+ is_host: boolean;
31
+ last_login: string;
32
+ login_times: number;
33
+ org_id: string | null;
34
+ permissions: string[];
35
+ public_metadata?: Record<string, any>;
36
+ }
17
37
  export interface Session {
18
38
  access_token: string;
19
39
  refresh_token: string;
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,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,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACvC;AAED,MAAM,WAAW,OAAO;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,IAAI,EAAE,IAAI,CAAC;CACZ"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AACA,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,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,eAAe,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CACvC;AACD,MAAM,WAAW,IAAI;IACnB,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;IAClB,UAAU,EAAE,MAAM,CAAC;IACnB,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,MAAM,GAAG,cAAc,CAAC;IAC7D,QAAQ,EAAE,OAAO,CAAC;IAClB,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,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.30",
3
+ "version": "0.1.31",
4
4
  "description": "A lightweight authentication helper 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",