@sigma-auth/better-auth-plugin 0.0.52 → 0.0.53
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/next/index.d.ts +141 -0
- package/dist/next/index.d.ts.map +1 -1
- package/dist/next/index.js +270 -0
- package/dist/next/index.js.map +1 -1
- package/package.json +1 -1
package/dist/next/index.d.ts
CHANGED
|
@@ -2,6 +2,7 @@
|
|
|
2
2
|
* Next.js App Router integration for Sigma Auth
|
|
3
3
|
* Provides ready-to-use route handlers for OAuth callback
|
|
4
4
|
*/
|
|
5
|
+
import { type TokenExchangeResult } from "../server/index.js";
|
|
5
6
|
interface NextRequest {
|
|
6
7
|
json(): Promise<unknown>;
|
|
7
8
|
nextUrl: {
|
|
@@ -70,5 +71,145 @@ export interface SigmaAuthError {
|
|
|
70
71
|
export declare function parseErrorParams(searchParams: URLSearchParams | {
|
|
71
72
|
get: (key: string) => string | null;
|
|
72
73
|
}): SigmaAuthError | null;
|
|
74
|
+
/**
|
|
75
|
+
* Better Auth instance type for callback handler
|
|
76
|
+
*/
|
|
77
|
+
interface BetterAuthInstance {
|
|
78
|
+
$context: Promise<{
|
|
79
|
+
adapter: {
|
|
80
|
+
findOne<T>(args: {
|
|
81
|
+
model: string;
|
|
82
|
+
where: Array<{
|
|
83
|
+
field: string;
|
|
84
|
+
value: unknown;
|
|
85
|
+
}>;
|
|
86
|
+
}): Promise<T | null>;
|
|
87
|
+
create<T>(args: {
|
|
88
|
+
model: string;
|
|
89
|
+
data: Record<string, unknown>;
|
|
90
|
+
}): Promise<T>;
|
|
91
|
+
update(args: {
|
|
92
|
+
model: string;
|
|
93
|
+
where: Array<{
|
|
94
|
+
field: string;
|
|
95
|
+
value: unknown;
|
|
96
|
+
}>;
|
|
97
|
+
update: Record<string, unknown>;
|
|
98
|
+
}): Promise<void>;
|
|
99
|
+
};
|
|
100
|
+
internalAdapter: {
|
|
101
|
+
createSession(userId: string, headers?: Headers, dontRememberMe?: boolean): Promise<{
|
|
102
|
+
token: string;
|
|
103
|
+
expiresAt: Date;
|
|
104
|
+
}>;
|
|
105
|
+
};
|
|
106
|
+
secret: string;
|
|
107
|
+
authCookies: {
|
|
108
|
+
sessionToken: {
|
|
109
|
+
name: string;
|
|
110
|
+
options: {
|
|
111
|
+
path?: string;
|
|
112
|
+
secure?: boolean;
|
|
113
|
+
sameSite?: "lax" | "strict" | "none";
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
};
|
|
117
|
+
sessionConfig: {
|
|
118
|
+
expiresIn: number;
|
|
119
|
+
};
|
|
120
|
+
}>;
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Configuration for the Better Auth callback route handler
|
|
124
|
+
*/
|
|
125
|
+
export interface BetterAuthCallbackConfig extends CallbackRouteConfig {
|
|
126
|
+
/**
|
|
127
|
+
* Better Auth instance from your auth-server.ts
|
|
128
|
+
* @example
|
|
129
|
+
* ```typescript
|
|
130
|
+
* import { auth } from "@/lib/auth-server";
|
|
131
|
+
* export const POST = createBetterAuthCallbackHandler({ auth });
|
|
132
|
+
* ```
|
|
133
|
+
*/
|
|
134
|
+
auth: BetterAuthInstance;
|
|
135
|
+
/**
|
|
136
|
+
* Custom user creation handler
|
|
137
|
+
* Override to customize how users are created from Sigma identity
|
|
138
|
+
*/
|
|
139
|
+
createUser?: (adapter: BetterAuthInstance["$context"] extends Promise<infer T> ? T extends {
|
|
140
|
+
adapter: infer A;
|
|
141
|
+
} ? A : never : never, sigmaUser: TokenExchangeResult["user"]) => Promise<{
|
|
142
|
+
id: string;
|
|
143
|
+
}>;
|
|
144
|
+
/**
|
|
145
|
+
* Custom user lookup handler
|
|
146
|
+
* Override to customize how existing users are found
|
|
147
|
+
*/
|
|
148
|
+
findUser?: (adapter: BetterAuthInstance["$context"] extends Promise<infer T> ? T extends {
|
|
149
|
+
adapter: infer A;
|
|
150
|
+
} ? A : never : never, sigmaUser: TokenExchangeResult["user"]) => Promise<{
|
|
151
|
+
id: string;
|
|
152
|
+
} | null>;
|
|
153
|
+
/**
|
|
154
|
+
* Custom user update handler
|
|
155
|
+
* Override to customize how existing users are updated with latest profile data
|
|
156
|
+
* Set to false to disable updates entirely
|
|
157
|
+
*/
|
|
158
|
+
updateUser?: ((adapter: BetterAuthInstance["$context"] extends Promise<infer T> ? T extends {
|
|
159
|
+
adapter: infer A;
|
|
160
|
+
} ? A : never : never, userId: string, sigmaUser: TokenExchangeResult["user"]) => Promise<void>) | false;
|
|
161
|
+
}
|
|
162
|
+
/**
|
|
163
|
+
* Result returned from the Better Auth callback handler
|
|
164
|
+
*/
|
|
165
|
+
export interface BetterAuthCallbackResult extends TokenExchangeResult {
|
|
166
|
+
/** The Better Auth user ID */
|
|
167
|
+
userId: string;
|
|
168
|
+
/** Whether a new user was created */
|
|
169
|
+
isNewUser: boolean;
|
|
170
|
+
}
|
|
171
|
+
/**
|
|
172
|
+
* Creates a Next.js POST route handler for Sigma OAuth callback with Better Auth session creation
|
|
173
|
+
*
|
|
174
|
+
* This handler:
|
|
175
|
+
* 1. Exchanges the authorization code for tokens
|
|
176
|
+
* 2. Finds or creates a user in Better Auth
|
|
177
|
+
* 3. Creates a session via Better Auth's internal adapter
|
|
178
|
+
* 4. Sets the session cookie
|
|
179
|
+
* 5. Returns the tokens and user data
|
|
180
|
+
*
|
|
181
|
+
* @example
|
|
182
|
+
* ```typescript
|
|
183
|
+
* // app/api/auth/sigma/callback/route.ts
|
|
184
|
+
* import { createBetterAuthCallbackHandler } from "@sigma-auth/better-auth-plugin/next";
|
|
185
|
+
* import { auth } from "@/lib/auth-server";
|
|
186
|
+
*
|
|
187
|
+
* export const runtime = "nodejs";
|
|
188
|
+
* export const POST = createBetterAuthCallbackHandler({ auth });
|
|
189
|
+
* ```
|
|
190
|
+
*
|
|
191
|
+
* @example
|
|
192
|
+
* ```typescript
|
|
193
|
+
* // With custom user creation
|
|
194
|
+
* export const POST = createBetterAuthCallbackHandler({
|
|
195
|
+
* auth,
|
|
196
|
+
* createUser: async (adapter, sigmaUser) => {
|
|
197
|
+
* return adapter.create({
|
|
198
|
+
* model: "user",
|
|
199
|
+
* data: {
|
|
200
|
+
* email: sigmaUser.email,
|
|
201
|
+
* name: sigmaUser.name,
|
|
202
|
+
* emailVerified: true,
|
|
203
|
+
* bapId: sigmaUser.bap_id,
|
|
204
|
+
* role: "subscriber", // Custom field
|
|
205
|
+
* createdAt: new Date(),
|
|
206
|
+
* updatedAt: new Date(),
|
|
207
|
+
* },
|
|
208
|
+
* });
|
|
209
|
+
* },
|
|
210
|
+
* });
|
|
211
|
+
* ```
|
|
212
|
+
*/
|
|
213
|
+
export declare function createBetterAuthCallbackHandler(config: BetterAuthCallbackConfig): (request: NextRequest) => Promise<Response>;
|
|
73
214
|
export {};
|
|
74
215
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/next/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"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"}
|
package/dist/next/index.js
CHANGED
|
@@ -138,4 +138,274 @@ export function parseErrorParams(searchParams) {
|
|
|
138
138
|
errorDescription: searchParams.get("error_description") || "An unknown error occurred",
|
|
139
139
|
};
|
|
140
140
|
}
|
|
141
|
+
/**
|
|
142
|
+
* Creates a Next.js POST route handler for Sigma OAuth callback with Better Auth session creation
|
|
143
|
+
*
|
|
144
|
+
* This handler:
|
|
145
|
+
* 1. Exchanges the authorization code for tokens
|
|
146
|
+
* 2. Finds or creates a user in Better Auth
|
|
147
|
+
* 3. Creates a session via Better Auth's internal adapter
|
|
148
|
+
* 4. Sets the session cookie
|
|
149
|
+
* 5. Returns the tokens and user data
|
|
150
|
+
*
|
|
151
|
+
* @example
|
|
152
|
+
* ```typescript
|
|
153
|
+
* // app/api/auth/sigma/callback/route.ts
|
|
154
|
+
* import { createBetterAuthCallbackHandler } from "@sigma-auth/better-auth-plugin/next";
|
|
155
|
+
* import { auth } from "@/lib/auth-server";
|
|
156
|
+
*
|
|
157
|
+
* export const runtime = "nodejs";
|
|
158
|
+
* export const POST = createBetterAuthCallbackHandler({ auth });
|
|
159
|
+
* ```
|
|
160
|
+
*
|
|
161
|
+
* @example
|
|
162
|
+
* ```typescript
|
|
163
|
+
* // With custom user creation
|
|
164
|
+
* export const POST = createBetterAuthCallbackHandler({
|
|
165
|
+
* auth,
|
|
166
|
+
* createUser: async (adapter, sigmaUser) => {
|
|
167
|
+
* return adapter.create({
|
|
168
|
+
* model: "user",
|
|
169
|
+
* data: {
|
|
170
|
+
* email: sigmaUser.email,
|
|
171
|
+
* name: sigmaUser.name,
|
|
172
|
+
* emailVerified: true,
|
|
173
|
+
* bapId: sigmaUser.bap_id,
|
|
174
|
+
* role: "subscriber", // Custom field
|
|
175
|
+
* createdAt: new Date(),
|
|
176
|
+
* updatedAt: new Date(),
|
|
177
|
+
* },
|
|
178
|
+
* });
|
|
179
|
+
* },
|
|
180
|
+
* });
|
|
181
|
+
* ```
|
|
182
|
+
*/
|
|
183
|
+
export function createBetterAuthCallbackHandler(config) {
|
|
184
|
+
return async (request) => {
|
|
185
|
+
try {
|
|
186
|
+
const body = (await request.json());
|
|
187
|
+
const { code, code_verifier } = body;
|
|
188
|
+
if (!code) {
|
|
189
|
+
return Response.json({ error: "Missing authorization code" }, { status: 400 });
|
|
190
|
+
}
|
|
191
|
+
// Get configuration from env or config
|
|
192
|
+
const memberPrivateKey = config.memberPrivateKey || process.env.SIGMA_MEMBER_PRIVATE_KEY;
|
|
193
|
+
if (!memberPrivateKey) {
|
|
194
|
+
console.error("[Sigma BA Callback] SIGMA_MEMBER_PRIVATE_KEY not configured");
|
|
195
|
+
return Response.json({
|
|
196
|
+
error: "Server configuration error",
|
|
197
|
+
details: "Missing SIGMA_MEMBER_PRIVATE_KEY",
|
|
198
|
+
}, { status: 500 });
|
|
199
|
+
}
|
|
200
|
+
const issuerUrl = config.issuerUrl ||
|
|
201
|
+
process.env.NEXT_PUBLIC_SIGMA_AUTH_URL ||
|
|
202
|
+
"https://auth.sigmaidentity.com";
|
|
203
|
+
const clientId = config.clientId || process.env.NEXT_PUBLIC_SIGMA_CLIENT_ID;
|
|
204
|
+
if (!clientId) {
|
|
205
|
+
console.error("[Sigma BA Callback] NEXT_PUBLIC_SIGMA_CLIENT_ID not configured");
|
|
206
|
+
return Response.json({ error: "Server configuration error", details: "Missing client ID" }, { status: 500 });
|
|
207
|
+
}
|
|
208
|
+
const callbackPath = config.callbackPath || "/auth/sigma/callback";
|
|
209
|
+
// Determine the origin
|
|
210
|
+
let origin = process.env.NEXT_PUBLIC_APP_URL;
|
|
211
|
+
if (!origin && process.env.RAILWAY_PUBLIC_DOMAIN) {
|
|
212
|
+
origin = `https://${process.env.RAILWAY_PUBLIC_DOMAIN}`;
|
|
213
|
+
}
|
|
214
|
+
if (!origin) {
|
|
215
|
+
const forwardedHost = request.headers.get("x-forwarded-host");
|
|
216
|
+
const forwardedProto = request.headers.get("x-forwarded-proto") || "https";
|
|
217
|
+
if (forwardedHost) {
|
|
218
|
+
origin = `${forwardedProto}://${forwardedHost}`;
|
|
219
|
+
}
|
|
220
|
+
else {
|
|
221
|
+
origin = request.nextUrl.origin;
|
|
222
|
+
}
|
|
223
|
+
}
|
|
224
|
+
const redirectUri = `${origin}${callbackPath}`;
|
|
225
|
+
console.log("[Sigma BA Callback] Exchanging code for tokens:", {
|
|
226
|
+
issuerUrl,
|
|
227
|
+
clientId,
|
|
228
|
+
redirectUri,
|
|
229
|
+
});
|
|
230
|
+
// Exchange authorization code for tokens
|
|
231
|
+
const result = await exchangeCodeForTokens({
|
|
232
|
+
code,
|
|
233
|
+
redirectUri,
|
|
234
|
+
clientId,
|
|
235
|
+
memberPrivateKey,
|
|
236
|
+
codeVerifier: code_verifier,
|
|
237
|
+
issuerUrl,
|
|
238
|
+
});
|
|
239
|
+
const bapId = result.user.bap_id ||
|
|
240
|
+
(typeof result.user.bap === "object"
|
|
241
|
+
? result.user.bap?.idKey
|
|
242
|
+
: undefined);
|
|
243
|
+
console.log("[Sigma BA Callback] Token exchange success:", {
|
|
244
|
+
hasBap: !!result.user.bap,
|
|
245
|
+
name: result.user.name,
|
|
246
|
+
bapId: bapId?.substring(0, 20) || "none",
|
|
247
|
+
});
|
|
248
|
+
// Get Better Auth context
|
|
249
|
+
const ctx = await config.auth.$context;
|
|
250
|
+
const { adapter, internalAdapter } = ctx;
|
|
251
|
+
// Extract user info from Sigma response
|
|
252
|
+
const bap = typeof result.user.bap === "object" ? result.user.bap : null;
|
|
253
|
+
const email = result.user.email || `${result.user.sub}@sigma.local`;
|
|
254
|
+
const name = result.user.name || bap?.identity?.alternateName || "User";
|
|
255
|
+
const image = result.user.picture || bap?.identity?.image;
|
|
256
|
+
// Find or create user
|
|
257
|
+
let userId;
|
|
258
|
+
let isNewUser = false;
|
|
259
|
+
if (config.findUser) {
|
|
260
|
+
const existingUser = await config.findUser(adapter, result.user);
|
|
261
|
+
if (existingUser) {
|
|
262
|
+
userId = existingUser.id;
|
|
263
|
+
// Update user if handler provided
|
|
264
|
+
if (config.updateUser !== false) {
|
|
265
|
+
if (config.updateUser) {
|
|
266
|
+
await config.updateUser(adapter, userId, result.user);
|
|
267
|
+
}
|
|
268
|
+
else {
|
|
269
|
+
// Default update
|
|
270
|
+
await adapter.update({
|
|
271
|
+
model: "user",
|
|
272
|
+
where: [{ field: "id", value: userId }],
|
|
273
|
+
update: {
|
|
274
|
+
name,
|
|
275
|
+
image,
|
|
276
|
+
bapId,
|
|
277
|
+
updatedAt: new Date(),
|
|
278
|
+
},
|
|
279
|
+
});
|
|
280
|
+
}
|
|
281
|
+
}
|
|
282
|
+
}
|
|
283
|
+
else if (config.createUser) {
|
|
284
|
+
const newUser = await config.createUser(adapter, result.user);
|
|
285
|
+
userId = newUser.id;
|
|
286
|
+
isNewUser = true;
|
|
287
|
+
}
|
|
288
|
+
else {
|
|
289
|
+
// Default user creation
|
|
290
|
+
const newUser = await adapter.create({
|
|
291
|
+
model: "user",
|
|
292
|
+
data: {
|
|
293
|
+
email,
|
|
294
|
+
name,
|
|
295
|
+
image,
|
|
296
|
+
bapId,
|
|
297
|
+
emailVerified: true,
|
|
298
|
+
createdAt: new Date(),
|
|
299
|
+
updatedAt: new Date(),
|
|
300
|
+
},
|
|
301
|
+
});
|
|
302
|
+
userId = newUser.id;
|
|
303
|
+
isNewUser = true;
|
|
304
|
+
}
|
|
305
|
+
}
|
|
306
|
+
else {
|
|
307
|
+
// Default user lookup by email
|
|
308
|
+
const existingUser = await adapter.findOne({
|
|
309
|
+
model: "user",
|
|
310
|
+
where: [{ field: "email", value: email }],
|
|
311
|
+
});
|
|
312
|
+
if (existingUser) {
|
|
313
|
+
userId = existingUser.id;
|
|
314
|
+
// Update user with latest profile data
|
|
315
|
+
if (config.updateUser !== false) {
|
|
316
|
+
if (config.updateUser) {
|
|
317
|
+
await config.updateUser(adapter, userId, result.user);
|
|
318
|
+
}
|
|
319
|
+
else {
|
|
320
|
+
await adapter.update({
|
|
321
|
+
model: "user",
|
|
322
|
+
where: [{ field: "id", value: userId }],
|
|
323
|
+
update: {
|
|
324
|
+
name,
|
|
325
|
+
image,
|
|
326
|
+
bapId,
|
|
327
|
+
updatedAt: new Date(),
|
|
328
|
+
},
|
|
329
|
+
});
|
|
330
|
+
}
|
|
331
|
+
}
|
|
332
|
+
console.log("[Sigma BA Callback] Updated existing user:", userId);
|
|
333
|
+
}
|
|
334
|
+
else if (config.createUser) {
|
|
335
|
+
const newUser = await config.createUser(adapter, result.user);
|
|
336
|
+
userId = newUser.id;
|
|
337
|
+
isNewUser = true;
|
|
338
|
+
}
|
|
339
|
+
else {
|
|
340
|
+
// Default user creation
|
|
341
|
+
const newUser = await adapter.create({
|
|
342
|
+
model: "user",
|
|
343
|
+
data: {
|
|
344
|
+
email,
|
|
345
|
+
name,
|
|
346
|
+
image,
|
|
347
|
+
bapId,
|
|
348
|
+
emailVerified: true,
|
|
349
|
+
createdAt: new Date(),
|
|
350
|
+
updatedAt: new Date(),
|
|
351
|
+
},
|
|
352
|
+
});
|
|
353
|
+
userId = newUser.id;
|
|
354
|
+
isNewUser = true;
|
|
355
|
+
}
|
|
356
|
+
}
|
|
357
|
+
console.log("[Sigma BA Callback]", isNewUser ? "Created new user:" : "Found existing user:", userId);
|
|
358
|
+
// Create session using internal adapter
|
|
359
|
+
const session = await internalAdapter.createSession(userId, request.headers, false);
|
|
360
|
+
if (!session) {
|
|
361
|
+
console.error("[Sigma BA Callback] Failed to create session");
|
|
362
|
+
return Response.json({ error: "Failed to create session" }, { status: 500 });
|
|
363
|
+
}
|
|
364
|
+
console.log("[Sigma BA Callback] Session created:", `${session.token.substring(0, 20)}...`);
|
|
365
|
+
// Build response with session cookie
|
|
366
|
+
const sessionCookieName = ctx.authCookies.sessionToken.name;
|
|
367
|
+
const cookieOptions = ctx.authCookies.sessionToken.options;
|
|
368
|
+
// Sign the session token
|
|
369
|
+
const { createHMAC } = await import("@better-auth/utils/hmac");
|
|
370
|
+
const signature = await createHMAC("SHA-256", "base64urlnopad").sign(ctx.secret, session.token);
|
|
371
|
+
const signedToken = `${session.token}.${signature}`;
|
|
372
|
+
// Create response
|
|
373
|
+
const response = Response.json({
|
|
374
|
+
user: {
|
|
375
|
+
...result.user,
|
|
376
|
+
sub: userId,
|
|
377
|
+
},
|
|
378
|
+
access_token: result.access_token,
|
|
379
|
+
id_token: result.id_token,
|
|
380
|
+
refresh_token: result.refresh_token,
|
|
381
|
+
userId,
|
|
382
|
+
isNewUser,
|
|
383
|
+
});
|
|
384
|
+
// Set the session cookie
|
|
385
|
+
const cookieValue = `${sessionCookieName}=${signedToken}; Path=${cookieOptions.path || "/"}; HttpOnly; ${cookieOptions.secure ? "Secure; " : ""}SameSite=${cookieOptions.sameSite || "lax"}; Max-Age=${ctx.sessionConfig.expiresIn}`;
|
|
386
|
+
response.headers.set("Set-Cookie", cookieValue);
|
|
387
|
+
return response;
|
|
388
|
+
}
|
|
389
|
+
catch (error) {
|
|
390
|
+
console.error("[Sigma BA Callback] Error:", error);
|
|
391
|
+
// Check if it's a TokenExchangeError
|
|
392
|
+
if (error &&
|
|
393
|
+
typeof error === "object" &&
|
|
394
|
+
"error" in error &&
|
|
395
|
+
"endpoint" in error) {
|
|
396
|
+
const tokenError = error;
|
|
397
|
+
return Response.json({
|
|
398
|
+
error: tokenError.error,
|
|
399
|
+
details: tokenError.details,
|
|
400
|
+
status: tokenError.status,
|
|
401
|
+
endpoint: tokenError.endpoint,
|
|
402
|
+
}, { status: tokenError.status || 500 });
|
|
403
|
+
}
|
|
404
|
+
return Response.json({
|
|
405
|
+
error: "Internal server error",
|
|
406
|
+
details: error instanceof Error ? error.message : "Unknown error",
|
|
407
|
+
}, { status: 500 });
|
|
408
|
+
}
|
|
409
|
+
};
|
|
410
|
+
}
|
|
141
411
|
//# sourceMappingURL=index.js.map
|
package/dist/next/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED