delta-auth-next 0.1.0 → 0.1.12
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/README.md +27 -0
- package/dist/DeltaProvider.js +3 -3
- package/dist/DeltaProvider.js.map +1 -1
- package/package.json +1 -1
- package/src/DeltaProvider.tsx +3 -3
package/README.md
ADDED
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
📦 delta-auth-next
|
|
2
|
+
|
|
3
|
+
delta-auth-next is a cookie-based authentication SDK for React and Next.js applications, inspired by Clerk — but built to work seamlessly with custom backends, HTTP-only cookies, and modern security best practices.
|
|
4
|
+
|
|
5
|
+
It abstracts session handling, user fetching, auto refresh, and environment safety checks into a simple provider + hooks API.
|
|
6
|
+
|
|
7
|
+
✨ Features
|
|
8
|
+
|
|
9
|
+
🔐 Cookie-based authentication (no localStorage tokens)
|
|
10
|
+
|
|
11
|
+
⚛️ Works with React & Next.js (App Router + Pages Router)
|
|
12
|
+
|
|
13
|
+
🍪 HTTP-only cookie session support
|
|
14
|
+
|
|
15
|
+
🔄 Auto session refresh
|
|
16
|
+
|
|
17
|
+
🚨 Optional built-in alerts via react-hot-toast
|
|
18
|
+
|
|
19
|
+
🧠 /auth/me session bootstrap
|
|
20
|
+
|
|
21
|
+
👤 Fetch full user profile on demand
|
|
22
|
+
|
|
23
|
+
🔑 Prevents test keys in production & live keys on localhost
|
|
24
|
+
|
|
25
|
+
📦 Lightweight, tree-shakable SDK
|
|
26
|
+
|
|
27
|
+
🧩 Designed for custom auth backends (FastAPI, Node, etc.)
|
package/dist/DeltaProvider.js
CHANGED
|
@@ -7,7 +7,7 @@ import { createAuthClient } from './client/authClient';
|
|
|
7
7
|
import toast from 'react-hot-toast';
|
|
8
8
|
export function DeltaAuthProvider({ config, children }) {
|
|
9
9
|
if (!config?.publishableKey)
|
|
10
|
-
|
|
10
|
+
toast.error('DeltaAuth: publishableKey is required');
|
|
11
11
|
const [session, setSession] = useState(null);
|
|
12
12
|
const [loading, setLoading] = useState(true);
|
|
13
13
|
const client = createAuthClient(config.backendUrl ? { backendUrl: config.backendUrl } : {});
|
|
@@ -52,10 +52,10 @@ export function DeltaAuthProvider({ config, children }) {
|
|
|
52
52
|
window.location.hostname.includes('localhost');
|
|
53
53
|
const isProd = typeof window !== 'undefined' && window.location.protocol === 'https:';
|
|
54
54
|
if (isLocalhost && config.publishableKey.startsWith('pk_live')) {
|
|
55
|
-
|
|
55
|
+
toast.error('Cannot use live key on localhost');
|
|
56
56
|
}
|
|
57
57
|
if (isProd && config.publishableKey.startsWith('pk_test')) {
|
|
58
|
-
|
|
58
|
+
toast.error('Cannot use test key in production');
|
|
59
59
|
}
|
|
60
60
|
fetchSession();
|
|
61
61
|
}, [fetchSession, config.publishableKey]);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"DeltaProvider.js","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"AAAA,4BAA4B;AAC5B,YAAY,CAAC;;AACb,OAAc,EAAE,QAAQ,EAAE,SAAS,EAAE,WAAW,EAAE,MAAM,OAAO,CAAC;AAChE,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,gBAAgB,EAAE,MAAM,qBAAqB,CAAC;AAEvD,OAAO,KAAK,MAAM,iBAAiB,CAAC;AAOpC,MAAM,UAAU,iBAAiB,CAAC,EAAE,MAAM,EAAE,QAAQ,EAAS;IAC3D,IAAI,CAAC,MAAM,EAAE,cAAc;QACzB,
|
|
1
|
+
{"version":3,"file":"DeltaProvider.js","sourceRoot":"","sources":["../src/DeltaProvider.tsx"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
package/src/DeltaProvider.tsx
CHANGED
|
@@ -13,7 +13,7 @@ interface Props {
|
|
|
13
13
|
|
|
14
14
|
export function DeltaAuthProvider({ config, children }: Props) {
|
|
15
15
|
if (!config?.publishableKey)
|
|
16
|
-
|
|
16
|
+
toast.error('DeltaAuth: publishableKey is required');
|
|
17
17
|
|
|
18
18
|
const [session, setSession] = useState<Session | null>(null);
|
|
19
19
|
const [loading, setLoading] = useState(true);
|
|
@@ -64,10 +64,10 @@ export function DeltaAuthProvider({ config, children }: Props) {
|
|
|
64
64
|
typeof window !== 'undefined' && window.location.protocol === 'https:';
|
|
65
65
|
|
|
66
66
|
if (isLocalhost && config.publishableKey.startsWith('pk_live')) {
|
|
67
|
-
|
|
67
|
+
toast.error('Cannot use live key on localhost');
|
|
68
68
|
}
|
|
69
69
|
if (isProd && config.publishableKey.startsWith('pk_test')) {
|
|
70
|
-
|
|
70
|
+
toast.error('Cannot use test key in production');
|
|
71
71
|
}
|
|
72
72
|
|
|
73
73
|
fetchSession();
|