clefbase 2.0.2 → 2.0.3
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/auth/index.d.ts +36 -101
- package/dist/auth/index.d.ts.map +1 -1
- package/dist/auth/index.js +152 -122
- package/dist/auth/index.js.map +1 -1
- package/dist/cli.js +1 -1
- package/package.json +1 -1
package/dist/auth/index.d.ts
CHANGED
|
@@ -1,163 +1,98 @@
|
|
|
1
1
|
import { HttpClient } from "../http";
|
|
2
2
|
import type { AuthUser, AuthResult } from "../types";
|
|
3
|
-
/**
|
|
4
|
-
* Options for `auth.signInWithGateway()`.
|
|
5
|
-
*/
|
|
6
3
|
export interface GatewaySignInOptions {
|
|
7
4
|
/**
|
|
8
|
-
*
|
|
9
|
-
* Defaults to `window.location.origin
|
|
10
|
-
* Must be registered as an allowed redirect for your project
|
|
5
|
+
* Where the gateway should redirect after sign-in.
|
|
6
|
+
* Defaults to `window.location.origin`.
|
|
7
|
+
* Must be registered as an allowed redirect for your project.
|
|
11
8
|
*/
|
|
12
9
|
redirectUrl?: string;
|
|
13
10
|
}
|
|
11
|
+
export interface OpenAuthUIOptions {
|
|
12
|
+
/**
|
|
13
|
+
* How to display the auth UI.
|
|
14
|
+
* - `"modal"` (default) — overlay on top of the current page
|
|
15
|
+
* - `"redirect"` — full-page redirect to auth.cleforyx.com
|
|
16
|
+
*/
|
|
17
|
+
mode?: "modal" | "redirect";
|
|
18
|
+
/** Called when the user successfully signs in. */
|
|
19
|
+
onSuccess?: (result: AuthResult) => void;
|
|
20
|
+
/** Called when the modal is dismissed without signing in. */
|
|
21
|
+
onDismiss?: () => void;
|
|
22
|
+
/** Where to redirect after sign-in (redirect mode only). Defaults to current page. */
|
|
23
|
+
redirectUrl?: string;
|
|
24
|
+
}
|
|
14
25
|
type AuthStateCallback = (user: AuthUser | null) => void;
|
|
15
|
-
/**
|
|
16
|
-
* Authentication service. Obtain via `getAuth(app)`.
|
|
17
|
-
*
|
|
18
|
-
* @example
|
|
19
|
-
* const auth = getAuth(app);
|
|
20
|
-
*
|
|
21
|
-
* // Email / password
|
|
22
|
-
* const { user } = await auth.signIn("alice@example.com", "pass");
|
|
23
|
-
*
|
|
24
|
-
* // Google — redirect to gateway, come back signed in
|
|
25
|
-
* await auth.signInWithGateway("google");
|
|
26
|
-
*
|
|
27
|
-
* // On every page load, handle the gateway callback:
|
|
28
|
-
* const result = await auth.handleGatewayCallback();
|
|
29
|
-
* if (result) console.log("Signed in via gateway:", result.user.email);
|
|
30
|
-
*/
|
|
31
26
|
export declare class Auth {
|
|
32
27
|
private readonly http;
|
|
33
28
|
private readonly store;
|
|
34
29
|
private listeners;
|
|
35
|
-
/** The base URL of the Cleforyx auth gateway (e.g. https://auth.cleforyx.com) */
|
|
36
30
|
private readonly gatewayUrl;
|
|
37
|
-
/** The project ID — used as the `?project=` param when redirecting to the gateway */
|
|
38
31
|
private readonly projectId;
|
|
32
|
+
private _modalCleanup;
|
|
39
33
|
constructor(http: HttpClient, gatewayUrl: string, projectId: string);
|
|
40
34
|
private notify;
|
|
41
35
|
private handleResult;
|
|
42
36
|
/** @internal — used by Storage to attach the bearer token to upload requests */
|
|
43
37
|
getAuthHeaders(): Record<string, string>;
|
|
44
|
-
/** The currently signed-in user, or null. */
|
|
45
38
|
get currentUser(): AuthUser | null;
|
|
46
|
-
/** The raw bearer token for the active session, or null. */
|
|
47
39
|
get currentToken(): string | null;
|
|
48
|
-
/**
|
|
49
|
-
* Create a new account with email + password.
|
|
50
|
-
*
|
|
51
|
-
* @example
|
|
52
|
-
* const { user } = await auth.signUp("alice@example.com", "pass123", {
|
|
53
|
-
* displayName: "Alice",
|
|
54
|
-
* metadata: { role: "admin" },
|
|
55
|
-
* });
|
|
56
|
-
*/
|
|
57
40
|
signUp(email: string, password: string, profile?: {
|
|
58
41
|
displayName?: string;
|
|
59
42
|
photoUrl?: string;
|
|
60
43
|
metadata?: Record<string, unknown>;
|
|
61
44
|
}): Promise<AuthResult>;
|
|
62
|
-
/**
|
|
63
|
-
* Sign in with email + password.
|
|
64
|
-
*
|
|
65
|
-
* @example
|
|
66
|
-
* const { user, token } = await auth.signIn("alice@example.com", "pass");
|
|
67
|
-
*/
|
|
68
45
|
signIn(email: string, password: string): Promise<AuthResult>;
|
|
69
46
|
/**
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
* The gateway handles the OAuth flow and redirects back to your app with
|
|
74
|
-
* `?cfx_token=<token>&cfx_project=<projectId>` in the URL.
|
|
75
|
-
* Call `auth.handleGatewayCallback()` on page load to complete sign-in.
|
|
47
|
+
* Open the Cleforyx hosted auth UI as a modal overlay on top of your page.
|
|
48
|
+
* Handles sign-in via email/password, Google, and magic link seamlessly.
|
|
76
49
|
*
|
|
77
|
-
*
|
|
50
|
+
* The modal closes automatically on successful sign-in and fires `onSuccess`.
|
|
78
51
|
*
|
|
79
52
|
* @example
|
|
80
|
-
*
|
|
81
|
-
*
|
|
82
|
-
*
|
|
83
|
-
*
|
|
84
|
-
*
|
|
85
|
-
* redirectUrl: "https://myapp.cleforyx.com/dashboard",
|
|
53
|
+
* auth.openAuthUI({
|
|
54
|
+
* onSuccess: (result) => {
|
|
55
|
+
* console.log("Signed in:", result.user.email);
|
|
56
|
+
* navigate("/dashboard");
|
|
57
|
+
* },
|
|
86
58
|
* });
|
|
87
59
|
*/
|
|
88
|
-
|
|
60
|
+
openAuthUI(options?: OpenAuthUIOptions): void;
|
|
61
|
+
/** Close the auth modal programmatically if open. */
|
|
62
|
+
closeAuthUI(): void;
|
|
89
63
|
/**
|
|
90
|
-
*
|
|
91
|
-
*
|
|
92
|
-
* `handleGatewayCallback()`.
|
|
64
|
+
* Redirect to the Cleforyx auth gateway for OAuth sign-in.
|
|
65
|
+
* Use `openAuthUI()` for a modal experience instead.
|
|
93
66
|
*
|
|
94
67
|
* @example
|
|
95
|
-
*
|
|
96
|
-
* showLoadingSpinner();
|
|
97
|
-
* }
|
|
68
|
+
* await auth.signInWithGateway("google");
|
|
98
69
|
*/
|
|
70
|
+
signInWithGateway(provider: "google", options?: GatewaySignInOptions): Promise<never>;
|
|
99
71
|
isGatewayCallbackPending(): boolean;
|
|
100
72
|
/**
|
|
101
|
-
* Call
|
|
102
|
-
*
|
|
103
|
-
* the server, the session is saved, and the signed-in `AuthResult` is
|
|
104
|
-
* returned. The query params are cleaned from the URL automatically.
|
|
105
|
-
*
|
|
106
|
-
* Returns `null` if there is no pending callback.
|
|
73
|
+
* Call on every page load to handle the gateway redirect callback.
|
|
74
|
+
* Detects `?cfx_token=` in the URL, validates it, and returns the signed-in user.
|
|
107
75
|
*
|
|
108
76
|
* @example
|
|
109
|
-
* // In your app's root component or entry point:
|
|
110
77
|
* useEffect(() => {
|
|
111
78
|
* auth.handleGatewayCallback().then(result => {
|
|
112
|
-
* if (result)
|
|
113
|
-
* console.log("Signed in:", result.user.email);
|
|
114
|
-
* navigate("/dashboard");
|
|
115
|
-
* }
|
|
79
|
+
* if (result) navigate("/dashboard");
|
|
116
80
|
* });
|
|
117
81
|
* }, []);
|
|
118
|
-
*
|
|
119
|
-
* // Or outside React:
|
|
120
|
-
* const result = await auth.handleGatewayCallback();
|
|
121
|
-
* if (result) showDashboard(result.user);
|
|
122
82
|
*/
|
|
123
83
|
handleGatewayCallback(): Promise<AuthResult | null>;
|
|
124
|
-
/** Sign out and clear the local session. */
|
|
125
84
|
signOut(): Promise<void>;
|
|
126
|
-
/** Re-fetch the current user's profile from the server and update the cache. */
|
|
127
85
|
refreshCurrentUser(): Promise<AuthUser | null>;
|
|
128
|
-
/**
|
|
129
|
-
* Update the signed-in user's profile.
|
|
130
|
-
*
|
|
131
|
-
* @example
|
|
132
|
-
* await auth.updateProfile({ displayName: "Bob", metadata: { theme: "dark" } });
|
|
133
|
-
*/
|
|
134
86
|
updateProfile(updates: {
|
|
135
87
|
displayName?: string;
|
|
136
88
|
photoUrl?: string;
|
|
137
89
|
metadata?: Record<string, unknown>;
|
|
138
90
|
}): Promise<AuthUser>;
|
|
139
|
-
/** Change password. All other sessions are invalidated server-side. */
|
|
140
91
|
changePassword(currentPassword: string, newPassword: string): Promise<void>;
|
|
141
|
-
/** Request a password-reset email. Safe to call even for unregistered addresses. */
|
|
142
92
|
sendPasswordResetEmail(email: string): Promise<void>;
|
|
143
|
-
/** Complete a password reset with the token from the reset email. */
|
|
144
93
|
confirmPasswordReset(resetToken: string, newPassword: string): Promise<void>;
|
|
145
|
-
/** Send an email verification code to the currently signed-in user. */
|
|
146
94
|
sendEmailVerification(): Promise<void>;
|
|
147
|
-
/** Verify email with the code the user received. */
|
|
148
95
|
verifyEmail(code: string): Promise<AuthUser>;
|
|
149
|
-
/**
|
|
150
|
-
* Subscribe to auth state changes.
|
|
151
|
-
* Fires immediately with the current user, then on every sign-in or sign-out.
|
|
152
|
-
* Returns an unsubscribe function.
|
|
153
|
-
*
|
|
154
|
-
* @example
|
|
155
|
-
* const unsubscribe = auth.onAuthStateChanged(user => {
|
|
156
|
-
* if (user) console.log("signed in:", user.email);
|
|
157
|
-
* else console.log("signed out");
|
|
158
|
-
* });
|
|
159
|
-
* unsubscribe();
|
|
160
|
-
*/
|
|
161
96
|
onAuthStateChanged(callback: AuthStateCallback): () => void;
|
|
162
97
|
}
|
|
163
98
|
export {};
|
package/dist/auth/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,EAAE,QAAQ,EAAE,UAAU,EAAE,MAAM,UAAU,CAAC;AAkDrD
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"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"}
|
package/dist/auth/index.js
CHANGED
|
@@ -47,27 +47,12 @@ class SessionStore {
|
|
|
47
47
|
catch { /* ignore */ }
|
|
48
48
|
}
|
|
49
49
|
}
|
|
50
|
-
/**
|
|
51
|
-
* Authentication service. Obtain via `getAuth(app)`.
|
|
52
|
-
*
|
|
53
|
-
* @example
|
|
54
|
-
* const auth = getAuth(app);
|
|
55
|
-
*
|
|
56
|
-
* // Email / password
|
|
57
|
-
* const { user } = await auth.signIn("alice@example.com", "pass");
|
|
58
|
-
*
|
|
59
|
-
* // Google — redirect to gateway, come back signed in
|
|
60
|
-
* await auth.signInWithGateway("google");
|
|
61
|
-
*
|
|
62
|
-
* // On every page load, handle the gateway callback:
|
|
63
|
-
* const result = await auth.handleGatewayCallback();
|
|
64
|
-
* if (result) console.log("Signed in via gateway:", result.user.email);
|
|
65
|
-
*/
|
|
66
50
|
class Auth {
|
|
67
51
|
constructor(http, gatewayUrl, projectId) {
|
|
68
52
|
this.http = http;
|
|
69
53
|
this.store = new SessionStore();
|
|
70
54
|
this.listeners = [];
|
|
55
|
+
this._modalCleanup = null;
|
|
71
56
|
this.gatewayUrl = gatewayUrl.replace(/\/+$/, "");
|
|
72
57
|
this.projectId = projectId;
|
|
73
58
|
this.store.load();
|
|
@@ -96,104 +81,185 @@ class Auth {
|
|
|
96
81
|
return s ? { Authorization: `Bearer ${s.token}` } : {};
|
|
97
82
|
}
|
|
98
83
|
// ── Public API ────────────────────────────────────────────────────────────
|
|
99
|
-
/** The currently signed-in user, or null. */
|
|
100
84
|
get currentUser() { return this.store.load()?.user ?? null; }
|
|
101
|
-
/** The raw bearer token for the active session, or null. */
|
|
102
85
|
get currentToken() { return this.store.load()?.token ?? null; }
|
|
103
86
|
// ── Email / password ──────────────────────────────────────────────────────
|
|
104
|
-
/**
|
|
105
|
-
* Create a new account with email + password.
|
|
106
|
-
*
|
|
107
|
-
* @example
|
|
108
|
-
* const { user } = await auth.signUp("alice@example.com", "pass123", {
|
|
109
|
-
* displayName: "Alice",
|
|
110
|
-
* metadata: { role: "admin" },
|
|
111
|
-
* });
|
|
112
|
-
*/
|
|
113
87
|
async signUp(email, password, profile) {
|
|
114
88
|
const result = await this.http.post("/signup", { email, password, ...profile });
|
|
115
89
|
return this.handleResult(result);
|
|
116
90
|
}
|
|
117
|
-
/**
|
|
118
|
-
* Sign in with email + password.
|
|
119
|
-
*
|
|
120
|
-
* @example
|
|
121
|
-
* const { user, token } = await auth.signIn("alice@example.com", "pass");
|
|
122
|
-
*/
|
|
123
91
|
async signIn(email, password) {
|
|
124
92
|
const result = await this.http.post("/signin", { email, password });
|
|
125
93
|
return this.handleResult(result);
|
|
126
94
|
}
|
|
127
|
-
// ──
|
|
95
|
+
// ── Auth UI modal ─────────────────────────────────────────────────────────
|
|
128
96
|
/**
|
|
129
|
-
*
|
|
130
|
-
*
|
|
131
|
-
*
|
|
132
|
-
* The gateway handles the OAuth flow and redirects back to your app with
|
|
133
|
-
* `?cfx_token=<token>&cfx_project=<projectId>` in the URL.
|
|
134
|
-
* Call `auth.handleGatewayCallback()` on page load to complete sign-in.
|
|
97
|
+
* Open the Cleforyx hosted auth UI as a modal overlay on top of your page.
|
|
98
|
+
* Handles sign-in via email/password, Google, and magic link seamlessly.
|
|
135
99
|
*
|
|
136
|
-
*
|
|
100
|
+
* The modal closes automatically on successful sign-in and fires `onSuccess`.
|
|
137
101
|
*
|
|
138
102
|
* @example
|
|
139
|
-
*
|
|
140
|
-
*
|
|
141
|
-
*
|
|
142
|
-
*
|
|
143
|
-
*
|
|
144
|
-
* redirectUrl: "https://myapp.cleforyx.com/dashboard",
|
|
103
|
+
* auth.openAuthUI({
|
|
104
|
+
* onSuccess: (result) => {
|
|
105
|
+
* console.log("Signed in:", result.user.email);
|
|
106
|
+
* navigate("/dashboard");
|
|
107
|
+
* },
|
|
145
108
|
* });
|
|
146
109
|
*/
|
|
147
|
-
|
|
110
|
+
openAuthUI(options = {}) {
|
|
148
111
|
if (typeof window === "undefined") {
|
|
149
|
-
throw new types_1.ClefbaseError("
|
|
112
|
+
throw new types_1.ClefbaseError("openAuthUI() requires a browser environment.", "UNSUPPORTED_ENVIRONMENT");
|
|
150
113
|
}
|
|
151
|
-
const
|
|
114
|
+
const { mode = "modal", onSuccess, onDismiss, redirectUrl } = options;
|
|
115
|
+
const currentUrl = window.location.href;
|
|
116
|
+
const returnUrl = redirectUrl ?? currentUrl;
|
|
152
117
|
const params = new URLSearchParams({
|
|
153
118
|
project: this.projectId,
|
|
154
|
-
redirect:
|
|
119
|
+
redirect: returnUrl,
|
|
120
|
+
embed: "popup",
|
|
155
121
|
});
|
|
156
|
-
|
|
157
|
-
|
|
158
|
-
|
|
122
|
+
const authUrl = `${this.gatewayUrl}/login?${params}`;
|
|
123
|
+
if (mode === "redirect") {
|
|
124
|
+
window.location.href = authUrl;
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
// ── Modal mode ──────────────────────────────────────────────────────────
|
|
128
|
+
// Inject styles once
|
|
129
|
+
if (!document.getElementById("cfx-modal-styles")) {
|
|
130
|
+
const style = document.createElement("style");
|
|
131
|
+
style.id = "cfx-modal-styles";
|
|
132
|
+
style.textContent = `
|
|
133
|
+
@keyframes cfxFadeIn { from { opacity: 0 } to { opacity: 1 } }
|
|
134
|
+
@keyframes cfxSlideUp { from { transform: translateY(20px); opacity: 0 } to { transform: none; opacity: 1 } }
|
|
135
|
+
#cfx-auth-overlay {
|
|
136
|
+
position: fixed; inset: 0; z-index: 999999;
|
|
137
|
+
background: rgba(15,23,42,0.6); backdrop-filter: blur(4px);
|
|
138
|
+
display: flex; align-items: center; justify-content: center;
|
|
139
|
+
animation: cfxFadeIn 0.18s ease;
|
|
140
|
+
padding: 16px; box-sizing: border-box;
|
|
141
|
+
}
|
|
142
|
+
#cfx-auth-card {
|
|
143
|
+
background: white; border-radius: 20px;
|
|
144
|
+
box-shadow: 0 24px 64px rgba(0,0,0,0.2);
|
|
145
|
+
overflow: hidden; width: 100%; max-width: 460px;
|
|
146
|
+
animation: cfxSlideUp 0.22s ease; position: relative;
|
|
147
|
+
}
|
|
148
|
+
#cfx-auth-frame {
|
|
149
|
+
width: 100%; height: 560px; border: none; display: block;
|
|
150
|
+
}
|
|
151
|
+
#cfx-auth-close {
|
|
152
|
+
position: absolute; top: 14px; right: 16px;
|
|
153
|
+
background: rgba(0,0,0,0.06); border: none;
|
|
154
|
+
width: 28px; height: 28px; border-radius: 50%;
|
|
155
|
+
font-size: 16px; line-height: 1; cursor: pointer;
|
|
156
|
+
display: flex; align-items: center; justify-content: center;
|
|
157
|
+
color: #64748b; z-index: 1; transition: background 0.15s;
|
|
158
|
+
}
|
|
159
|
+
#cfx-auth-close:hover { background: rgba(0,0,0,0.12); }
|
|
160
|
+
`;
|
|
161
|
+
document.head.appendChild(style);
|
|
162
|
+
}
|
|
163
|
+
// Create overlay
|
|
164
|
+
const overlay = document.createElement("div");
|
|
165
|
+
overlay.id = "cfx-auth-overlay";
|
|
166
|
+
const card = document.createElement("div");
|
|
167
|
+
card.id = "cfx-auth-card";
|
|
168
|
+
const closeBtn = document.createElement("button");
|
|
169
|
+
closeBtn.id = "cfx-auth-close";
|
|
170
|
+
closeBtn.innerHTML = "✕";
|
|
171
|
+
closeBtn.setAttribute("aria-label", "Close");
|
|
172
|
+
const iframe = document.createElement("iframe");
|
|
173
|
+
iframe.id = "cfx-auth-frame";
|
|
174
|
+
iframe.src = authUrl;
|
|
175
|
+
iframe.setAttribute("allow", "identity-credentials-get");
|
|
176
|
+
card.appendChild(closeBtn);
|
|
177
|
+
card.appendChild(iframe);
|
|
178
|
+
overlay.appendChild(card);
|
|
179
|
+
document.body.appendChild(overlay);
|
|
180
|
+
// Prevent body scroll
|
|
181
|
+
const prevOverflow = document.body.style.overflow;
|
|
182
|
+
document.body.style.overflow = "hidden";
|
|
183
|
+
const cleanup = () => {
|
|
184
|
+
overlay.remove();
|
|
185
|
+
document.body.style.overflow = prevOverflow;
|
|
186
|
+
window.removeEventListener("message", messageHandler);
|
|
187
|
+
this._modalCleanup = null;
|
|
188
|
+
};
|
|
189
|
+
const messageHandler = async (e) => {
|
|
190
|
+
if (e.data?.source !== "cleforyx-auth" || e.data?.type !== "auth_success")
|
|
191
|
+
return;
|
|
192
|
+
const { token, user: rawUser } = e.data;
|
|
193
|
+
if (!token)
|
|
194
|
+
return;
|
|
195
|
+
cleanup();
|
|
196
|
+
// Build a full AuthResult — fetch fresh user data to get expiresAt
|
|
197
|
+
// Use the public /me endpoint (no API key needed, just dbId + bearer)
|
|
198
|
+
try {
|
|
199
|
+
const serverUrl = this.http.getBaseUrl().replace(/\/auth$/, "");
|
|
200
|
+
const res = await fetch(`${serverUrl}/auth/public/me?dbId=${encodeURIComponent(this.projectId)}`, {
|
|
201
|
+
headers: { Authorization: `Bearer ${token}` },
|
|
202
|
+
});
|
|
203
|
+
const user = res.ok ? await res.json() : rawUser;
|
|
204
|
+
const expiresAt = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString();
|
|
205
|
+
const result = { user, token, session: { token, expiresAt } };
|
|
206
|
+
this.handleResult(result);
|
|
207
|
+
onSuccess?.(result);
|
|
208
|
+
}
|
|
209
|
+
catch {
|
|
210
|
+
// Fallback: use the user data from postMessage directly
|
|
211
|
+
const expiresAt = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString();
|
|
212
|
+
const result = { user: rawUser, token, session: { token, expiresAt } };
|
|
213
|
+
this.handleResult(result);
|
|
214
|
+
onSuccess?.(result);
|
|
215
|
+
}
|
|
216
|
+
};
|
|
217
|
+
closeBtn.onclick = () => { cleanup(); onDismiss?.(); };
|
|
218
|
+
overlay.addEventListener("click", (e) => {
|
|
219
|
+
if (e.target === overlay) {
|
|
220
|
+
cleanup();
|
|
221
|
+
onDismiss?.();
|
|
222
|
+
}
|
|
223
|
+
});
|
|
224
|
+
window.addEventListener("message", messageHandler);
|
|
225
|
+
this._modalCleanup = cleanup;
|
|
226
|
+
}
|
|
227
|
+
/** Close the auth modal programmatically if open. */
|
|
228
|
+
closeAuthUI() {
|
|
229
|
+
this._modalCleanup?.();
|
|
159
230
|
}
|
|
231
|
+
// ── Gateway redirect flow ─────────────────────────────────────────────────
|
|
160
232
|
/**
|
|
161
|
-
*
|
|
162
|
-
*
|
|
163
|
-
* `handleGatewayCallback()`.
|
|
233
|
+
* Redirect to the Cleforyx auth gateway for OAuth sign-in.
|
|
234
|
+
* Use `openAuthUI()` for a modal experience instead.
|
|
164
235
|
*
|
|
165
236
|
* @example
|
|
166
|
-
*
|
|
167
|
-
* showLoadingSpinner();
|
|
168
|
-
* }
|
|
237
|
+
* await auth.signInWithGateway("google");
|
|
169
238
|
*/
|
|
239
|
+
async signInWithGateway(provider, options) {
|
|
240
|
+
if (typeof window === "undefined") {
|
|
241
|
+
throw new types_1.ClefbaseError("signInWithGateway() requires a browser environment.", "UNSUPPORTED_ENVIRONMENT");
|
|
242
|
+
}
|
|
243
|
+
const redirectUrl = options?.redirectUrl ?? window.location.href;
|
|
244
|
+
const params = new URLSearchParams({ project: this.projectId, redirect: redirectUrl });
|
|
245
|
+
window.location.href = `${this.gatewayUrl}/google?${params}`;
|
|
246
|
+
return new Promise(() => { });
|
|
247
|
+
}
|
|
170
248
|
isGatewayCallbackPending() {
|
|
171
249
|
if (typeof window === "undefined")
|
|
172
250
|
return false;
|
|
173
251
|
return new URLSearchParams(window.location.search).has("cfx_token");
|
|
174
252
|
}
|
|
175
253
|
/**
|
|
176
|
-
* Call
|
|
177
|
-
*
|
|
178
|
-
* the server, the session is saved, and the signed-in `AuthResult` is
|
|
179
|
-
* returned. The query params are cleaned from the URL automatically.
|
|
180
|
-
*
|
|
181
|
-
* Returns `null` if there is no pending callback.
|
|
254
|
+
* Call on every page load to handle the gateway redirect callback.
|
|
255
|
+
* Detects `?cfx_token=` in the URL, validates it, and returns the signed-in user.
|
|
182
256
|
*
|
|
183
257
|
* @example
|
|
184
|
-
* // In your app's root component or entry point:
|
|
185
258
|
* useEffect(() => {
|
|
186
259
|
* auth.handleGatewayCallback().then(result => {
|
|
187
|
-
* if (result)
|
|
188
|
-
* console.log("Signed in:", result.user.email);
|
|
189
|
-
* navigate("/dashboard");
|
|
190
|
-
* }
|
|
260
|
+
* if (result) navigate("/dashboard");
|
|
191
261
|
* });
|
|
192
262
|
* }, []);
|
|
193
|
-
*
|
|
194
|
-
* // Or outside React:
|
|
195
|
-
* const result = await auth.handleGatewayCallback();
|
|
196
|
-
* if (result) showDashboard(result.user);
|
|
197
263
|
*/
|
|
198
264
|
async handleGatewayCallback() {
|
|
199
265
|
if (typeof window === "undefined")
|
|
@@ -202,33 +268,25 @@ class Auth {
|
|
|
202
268
|
const token = params.get("cfx_token");
|
|
203
269
|
if (!token)
|
|
204
270
|
return null;
|
|
205
|
-
// Clean
|
|
206
|
-
// aren't reprocessed on refresh or shared in links
|
|
271
|
+
// Clean URL
|
|
207
272
|
params.delete("cfx_token");
|
|
208
273
|
params.delete("cfx_project");
|
|
209
|
-
|
|
210
|
-
|
|
211
|
-
|
|
212
|
-
// Validate the token against the server and fetch the full user object
|
|
274
|
+
window.history.replaceState({}, "", window.location.pathname + (params.toString() ? `?${params}` : ""));
|
|
275
|
+
// Use /auth/public/me — no API key needed, just dbId + bearer
|
|
276
|
+
const serverUrl = this.http.getBaseUrl().replace(/\/auth$/, "");
|
|
213
277
|
try {
|
|
214
|
-
const
|
|
215
|
-
|
|
216
|
-
|
|
278
|
+
const res = await fetch(`${serverUrl}/auth/public/me?dbId=${encodeURIComponent(this.projectId)}`, { headers: { Authorization: `Bearer ${token}` } });
|
|
279
|
+
if (!res.ok)
|
|
280
|
+
throw new Error(`${res.status} ${res.statusText}`);
|
|
281
|
+
const user = await res.json();
|
|
217
282
|
const expiresAt = new Date(Date.now() + 30 * 24 * 60 * 60 * 1000).toISOString();
|
|
218
|
-
|
|
219
|
-
user,
|
|
220
|
-
token,
|
|
221
|
-
session: { token, expiresAt },
|
|
222
|
-
};
|
|
223
|
-
return this.handleResult(result);
|
|
283
|
+
return this.handleResult({ user, token, session: { token, expiresAt } });
|
|
224
284
|
}
|
|
225
285
|
catch (err) {
|
|
226
|
-
// Token was invalid or expired — don't sign in
|
|
227
286
|
throw new types_1.ClefbaseError(`Gateway callback failed: ${err.message}`, "GATEWAY_CALLBACK_ERROR");
|
|
228
287
|
}
|
|
229
288
|
}
|
|
230
289
|
// ── Session management ────────────────────────────────────────────────────
|
|
231
|
-
/** Sign out and clear the local session. */
|
|
232
290
|
async signOut() {
|
|
233
291
|
const token = this.currentToken;
|
|
234
292
|
if (token) {
|
|
@@ -240,7 +298,6 @@ class Auth {
|
|
|
240
298
|
this.store.clear();
|
|
241
299
|
this.notify(null);
|
|
242
300
|
}
|
|
243
|
-
/** Re-fetch the current user's profile from the server and update the cache. */
|
|
244
301
|
async refreshCurrentUser() {
|
|
245
302
|
const token = this.currentToken;
|
|
246
303
|
if (!token)
|
|
@@ -257,72 +314,45 @@ class Auth {
|
|
|
257
314
|
return null;
|
|
258
315
|
}
|
|
259
316
|
}
|
|
260
|
-
/**
|
|
261
|
-
* Update the signed-in user's profile.
|
|
262
|
-
*
|
|
263
|
-
* @example
|
|
264
|
-
* await auth.updateProfile({ displayName: "Bob", metadata: { theme: "dark" } });
|
|
265
|
-
*/
|
|
266
317
|
async updateProfile(updates) {
|
|
267
318
|
const token = this.currentToken;
|
|
268
319
|
if (!token)
|
|
269
320
|
throw new Error("No user is currently signed in.");
|
|
270
|
-
const user = await this.http.patch("/me", updates, {
|
|
271
|
-
Authorization: `Bearer ${token}`,
|
|
272
|
-
});
|
|
321
|
+
const user = await this.http.patch("/me", updates, { Authorization: `Bearer ${token}` });
|
|
273
322
|
const session = this.store.load();
|
|
274
323
|
if (session)
|
|
275
324
|
this.store.save({ ...session, user });
|
|
276
325
|
this.notify(user);
|
|
277
326
|
return user;
|
|
278
327
|
}
|
|
279
|
-
/** Change password. All other sessions are invalidated server-side. */
|
|
280
328
|
async changePassword(currentPassword, newPassword) {
|
|
281
329
|
const token = this.currentToken;
|
|
282
330
|
if (!token)
|
|
283
331
|
throw new Error("No user is currently signed in.");
|
|
284
332
|
await this.http.post("/change-password", { currentPassword, newPassword }, { Authorization: `Bearer ${token}` });
|
|
285
333
|
}
|
|
286
|
-
/** Request a password-reset email. Safe to call even for unregistered addresses. */
|
|
287
334
|
async sendPasswordResetEmail(email) {
|
|
288
335
|
await this.http.post("/forgot-password", { email });
|
|
289
336
|
}
|
|
290
|
-
/** Complete a password reset with the token from the reset email. */
|
|
291
337
|
async confirmPasswordReset(resetToken, newPassword) {
|
|
292
338
|
await this.http.post("/reset-password", { token: resetToken, newPassword });
|
|
293
339
|
}
|
|
294
|
-
/** Send an email verification code to the currently signed-in user. */
|
|
295
340
|
async sendEmailVerification() {
|
|
296
341
|
const token = this.currentToken;
|
|
297
342
|
if (!token)
|
|
298
343
|
throw new Error("No user is currently signed in.");
|
|
299
344
|
await this.http.post("/send-verification", undefined, { Authorization: `Bearer ${token}` });
|
|
300
345
|
}
|
|
301
|
-
/** Verify email with the code the user received. */
|
|
302
346
|
async verifyEmail(code) {
|
|
303
347
|
return this.http.post("/verify-email", { code });
|
|
304
348
|
}
|
|
305
|
-
/**
|
|
306
|
-
* Subscribe to auth state changes.
|
|
307
|
-
* Fires immediately with the current user, then on every sign-in or sign-out.
|
|
308
|
-
* Returns an unsubscribe function.
|
|
309
|
-
*
|
|
310
|
-
* @example
|
|
311
|
-
* const unsubscribe = auth.onAuthStateChanged(user => {
|
|
312
|
-
* if (user) console.log("signed in:", user.email);
|
|
313
|
-
* else console.log("signed out");
|
|
314
|
-
* });
|
|
315
|
-
* unsubscribe();
|
|
316
|
-
*/
|
|
317
349
|
onAuthStateChanged(callback) {
|
|
318
350
|
this.listeners.push(callback);
|
|
319
351
|
try {
|
|
320
352
|
callback(this.currentUser);
|
|
321
353
|
}
|
|
322
354
|
catch { /* ignore */ }
|
|
323
|
-
return () => {
|
|
324
|
-
this.listeners = this.listeners.filter(cb => cb !== callback);
|
|
325
|
-
};
|
|
355
|
+
return () => { this.listeners = this.listeners.filter(cb => cb !== callback); };
|
|
326
356
|
}
|
|
327
357
|
}
|
|
328
358
|
exports.Auth = Auth;
|
package/dist/auth/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/auth/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cli.js
CHANGED
|
@@ -35549,7 +35549,7 @@ async function promptRequired(message) {
|
|
|
35549
35549
|
}
|
|
35550
35550
|
|
|
35551
35551
|
// package.json
|
|
35552
|
-
var version = "2.0.
|
|
35552
|
+
var version = "2.0.3";
|
|
35553
35553
|
|
|
35554
35554
|
// src/cli/index.ts
|
|
35555
35555
|
var program2 = new Command();
|