@sigma-auth/better-auth-plugin 0.0.18 → 0.0.20
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 +5 -5
- package/dist/client/index.d.ts +23 -2
- package/dist/client/index.d.ts.map +1 -1
- package/dist/client/index.js +63 -2
- package/dist/client/index.js.map +1 -1
- package/dist/next/index.d.ts +36 -13
- package/dist/next/index.d.ts.map +1 -1
- package/dist/next/index.js +35 -13
- package/dist/next/index.js.map +1 -1
- package/dist/server/admin.d.ts +166 -0
- package/dist/server/admin.d.ts.map +1 -0
- package/dist/server/admin.js +179 -0
- package/dist/server/admin.js.map +1 -0
- package/dist/server/index.d.ts +1 -0
- package/dist/server/index.d.ts.map +1 -1
- package/dist/server/index.js +2 -0
- package/dist/server/index.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -84,7 +84,7 @@ export const signIn = authClient.signIn;
|
|
|
84
84
|
This server-side endpoint exchanges the OAuth code for tokens.
|
|
85
85
|
|
|
86
86
|
```typescript
|
|
87
|
-
// app/api/auth/callback/route.ts
|
|
87
|
+
// app/api/auth/sigma/callback/route.ts
|
|
88
88
|
import { createCallbackHandler } from "@sigma-auth/better-auth-plugin/next";
|
|
89
89
|
|
|
90
90
|
export const runtime = "nodejs";
|
|
@@ -96,7 +96,7 @@ export const POST = createCallbackHandler();
|
|
|
96
96
|
This page handles the OAuth redirect and stores the authenticated user.
|
|
97
97
|
|
|
98
98
|
```typescript
|
|
99
|
-
// app/callback/page.tsx
|
|
99
|
+
// app/auth/sigma/callback/page.tsx
|
|
100
100
|
"use client";
|
|
101
101
|
|
|
102
102
|
import { Suspense, useEffect, useState } from "react";
|
|
@@ -179,7 +179,7 @@ import { signIn } from "@/lib/auth";
|
|
|
179
179
|
const handleSignIn = () => {
|
|
180
180
|
signIn.sigma({
|
|
181
181
|
clientId: process.env.NEXT_PUBLIC_SIGMA_CLIENT_ID || "your-app",
|
|
182
|
-
callbackURL
|
|
182
|
+
// callbackURL defaults to /auth/sigma/callback
|
|
183
183
|
});
|
|
184
184
|
};
|
|
185
185
|
```
|
|
@@ -261,8 +261,8 @@ export const auth = betterAuth({
|
|
|
261
261
|
|
|
262
262
|
When using OAuth flow, there are **two different endpoints**:
|
|
263
263
|
|
|
264
|
-
1. **OAuth Redirect URI** (`/callback`) - Where the auth server redirects after authorization
|
|
265
|
-
2. **Token Exchange API** (`/api/auth/callback`) - Internal endpoint that exchanges code for tokens
|
|
264
|
+
1. **OAuth Redirect URI** (`/auth/sigma/callback`) - Where the auth server redirects after authorization
|
|
265
|
+
2. **Token Exchange API** (`/api/auth/sigma/callback`) - Internal endpoint that exchanges code for tokens
|
|
266
266
|
|
|
267
267
|
The redirect URI is what you configure in your OAuth client settings. The token exchange API is called internally by your callback page.
|
|
268
268
|
|
package/dist/client/index.d.ts
CHANGED
|
@@ -10,9 +10,9 @@ export interface SigmaSignInOptions {
|
|
|
10
10
|
authToken?: string;
|
|
11
11
|
/** Selected BAP identity ID (for multi-identity wallets) */
|
|
12
12
|
bapId?: string;
|
|
13
|
-
/** Callback URL after OAuth redirect (default: /callback) */
|
|
13
|
+
/** Callback URL after OAuth redirect (default: /auth/sigma/callback) */
|
|
14
14
|
callbackURL?: string;
|
|
15
|
-
/** Error callback URL */
|
|
15
|
+
/** Error callback URL (default: /auth/sigma/error) */
|
|
16
16
|
errorCallbackURL?: string;
|
|
17
17
|
/** OAuth provider (e.g., 'github', 'google') */
|
|
18
18
|
provider?: string;
|
|
@@ -268,6 +268,27 @@ export declare const sigmaClient: () => {
|
|
|
268
268
|
* @returns true if identity is set and signer is initialized
|
|
269
269
|
*/
|
|
270
270
|
isReady: () => boolean;
|
|
271
|
+
/**
|
|
272
|
+
* Get the stored error callback URL
|
|
273
|
+
* @returns The error callback URL or default /auth/sigma/error
|
|
274
|
+
*/
|
|
275
|
+
getErrorCallbackURL: () => string;
|
|
276
|
+
/**
|
|
277
|
+
* Redirect to error callback with error details
|
|
278
|
+
* Use this in your callback page's catch block
|
|
279
|
+
*
|
|
280
|
+
* @param error - The error object from handleCallback
|
|
281
|
+
*
|
|
282
|
+
* @example
|
|
283
|
+
* ```typescript
|
|
284
|
+
* try {
|
|
285
|
+
* const result = await authClient.sigma.handleCallback(searchParams);
|
|
286
|
+
* } catch (err) {
|
|
287
|
+
* authClient.sigma.redirectToError(err);
|
|
288
|
+
* }
|
|
289
|
+
* ```
|
|
290
|
+
*/
|
|
291
|
+
redirectToError: (error: unknown) => void;
|
|
271
292
|
};
|
|
272
293
|
};
|
|
273
294
|
};
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,iBAAiB,EAAE,MAAM,qBAAqB,CAAC;AAE7D,OAAO,KAAK,EACX,eAAe,EACf,eAAe,EACf,oBAAoB,EAEpB,mBAAmB,EACnB,kBAAkB,EAClB,gBAAgB,EAChB,MAAM,mBAAmB,CAAC;AAI3B,YAAY,EACX,UAAU,EACV,eAAe,EACf,GAAG,EACH,eAAe,EACf,oBAAoB,EACpB,kBAAkB,EAClB,mBAAmB,EACnB,aAAa,EACb,kBAAkB,EAClB,gBAAgB,EAChB,UAAU,GACV,MAAM,mBAAmB,CAAC;AAiD3B;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IAClC,uDAAuD;IACvD,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,4DAA4D;IAC5D,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
package/dist/client/index.js
CHANGED
|
@@ -269,6 +269,13 @@ export const sigmaClient = () => {
|
|
|
269
269
|
if (typeof window !== "undefined") {
|
|
270
270
|
sessionStorage.setItem("sigma_oauth_state", state);
|
|
271
271
|
sessionStorage.setItem("sigma_code_verifier", codeVerifier);
|
|
272
|
+
// Store error callback URL for error handling
|
|
273
|
+
if (options?.errorCallbackURL) {
|
|
274
|
+
sessionStorage.setItem("sigma_error_callback", options.errorCallbackURL);
|
|
275
|
+
}
|
|
276
|
+
else {
|
|
277
|
+
sessionStorage.removeItem("sigma_error_callback");
|
|
278
|
+
}
|
|
272
279
|
}
|
|
273
280
|
const authUrl = typeof process !== "undefined"
|
|
274
281
|
? process.env.NEXT_PUBLIC_SIGMA_AUTH_URL ||
|
|
@@ -276,7 +283,7 @@ export const sigmaClient = () => {
|
|
|
276
283
|
: "https://auth.sigmaidentity.com";
|
|
277
284
|
// Ensure redirect_uri is always absolute (OAuth requires absolute URLs)
|
|
278
285
|
const origin = typeof window !== "undefined" ? window.location.origin : "";
|
|
279
|
-
const callbackPath = options?.callbackURL || "/callback";
|
|
286
|
+
const callbackPath = options?.callbackURL || "/auth/sigma/callback";
|
|
280
287
|
const redirectUri = callbackPath.startsWith("http")
|
|
281
288
|
? callbackPath
|
|
282
289
|
: `${origin}${callbackPath.startsWith("/") ? callbackPath : `/${callbackPath}`}`;
|
|
@@ -357,7 +364,7 @@ export const sigmaClient = () => {
|
|
|
357
364
|
// Exchange code for tokens via backend API
|
|
358
365
|
// This must be done server-side because it requires bitcoin-auth signature
|
|
359
366
|
try {
|
|
360
|
-
const response = await fetch("/api/auth/callback", {
|
|
367
|
+
const response = await fetch("/api/auth/sigma/callback", {
|
|
361
368
|
method: "POST",
|
|
362
369
|
headers: {
|
|
363
370
|
"Content-Type": "application/json",
|
|
@@ -615,6 +622,60 @@ export const sigmaClient = () => {
|
|
|
615
622
|
const bapId = storedBapId || loadStoredBapId();
|
|
616
623
|
return !!bapId;
|
|
617
624
|
},
|
|
625
|
+
/**
|
|
626
|
+
* Get the stored error callback URL
|
|
627
|
+
* @returns The error callback URL or default /auth/sigma/error
|
|
628
|
+
*/
|
|
629
|
+
getErrorCallbackURL: () => {
|
|
630
|
+
if (typeof window === "undefined")
|
|
631
|
+
return "/auth/sigma/error";
|
|
632
|
+
return (sessionStorage.getItem("sigma_error_callback") ||
|
|
633
|
+
"/auth/sigma/error");
|
|
634
|
+
},
|
|
635
|
+
/**
|
|
636
|
+
* Redirect to error callback with error details
|
|
637
|
+
* Use this in your callback page's catch block
|
|
638
|
+
*
|
|
639
|
+
* @param error - The error object from handleCallback
|
|
640
|
+
*
|
|
641
|
+
* @example
|
|
642
|
+
* ```typescript
|
|
643
|
+
* try {
|
|
644
|
+
* const result = await authClient.sigma.handleCallback(searchParams);
|
|
645
|
+
* } catch (err) {
|
|
646
|
+
* authClient.sigma.redirectToError(err);
|
|
647
|
+
* }
|
|
648
|
+
* ```
|
|
649
|
+
*/
|
|
650
|
+
redirectToError: (error) => {
|
|
651
|
+
if (typeof window === "undefined")
|
|
652
|
+
return;
|
|
653
|
+
const errorCallbackURL = sessionStorage.getItem("sigma_error_callback") ||
|
|
654
|
+
"/auth/sigma/error";
|
|
655
|
+
// Clean up session storage
|
|
656
|
+
sessionStorage.removeItem("sigma_error_callback");
|
|
657
|
+
sessionStorage.removeItem("sigma_oauth_state");
|
|
658
|
+
sessionStorage.removeItem("sigma_code_verifier");
|
|
659
|
+
// Build error URL with query params
|
|
660
|
+
const errorUrl = new URL(errorCallbackURL, window.location.origin);
|
|
661
|
+
if (error &&
|
|
662
|
+
typeof error === "object" &&
|
|
663
|
+
"title" in error &&
|
|
664
|
+
"message" in error) {
|
|
665
|
+
const oauthError = error;
|
|
666
|
+
errorUrl.searchParams.set("error", oauthError.title);
|
|
667
|
+
errorUrl.searchParams.set("error_description", oauthError.message);
|
|
668
|
+
}
|
|
669
|
+
else if (error instanceof Error) {
|
|
670
|
+
errorUrl.searchParams.set("error", "callback_error");
|
|
671
|
+
errorUrl.searchParams.set("error_description", error.message);
|
|
672
|
+
}
|
|
673
|
+
else {
|
|
674
|
+
errorUrl.searchParams.set("error", "unknown_error");
|
|
675
|
+
errorUrl.searchParams.set("error_description", "An unknown error occurred");
|
|
676
|
+
}
|
|
677
|
+
window.location.href = errorUrl.toString();
|
|
678
|
+
},
|
|
618
679
|
},
|
|
619
680
|
};
|
|
620
681
|
},
|
package/dist/client/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/client/index.ts"],"names":[],"mappings":"AAWA,OAAO,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAiBhD,qDAAqD;AACrD,IAAI,MAAM,GAA6B,IAAI,CAAC;AAC5C,IAAI,WAAW,GAAkB,IAAI,CAAC;AAEtC,mCAAmC;AACnC,MAAM,kBAAkB,GAAG,cAAc,CAAC;AAE1C;;GAEG;AACH,MAAM,WAAW,GAAG,GAAW,EAAE;IAChC,IACC,OAAO,OAAO,KAAK,WAAW;QAC9B,OAAO,CAAC,GAAG,CAAC,0BAA0B,EACrC,CAAC;QACF,OAAO,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC;IAC/C,CAAC;IACD,OAAO,gCAAgC,CAAC;AACzC,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,iBAAiB,GAAG,KAAK,IAAgC,EAAE;IAChE,IAAI,CAAC,MAAM,EAAE,CAAC;QACb,MAAM,GAAG,IAAI,iBAAiB,CAAC,WAAW,EAAE,CAAC,CAAC;IAC/C,CAAC;IACD,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,EAAE,CAAC;QACvB,MAAM,MAAM,CAAC,IAAI,EAAE,CAAC;IACrB,CAAC;IACD,OAAO,MAAM,CAAC;AACf,CAAC,CAAC;AAEF;;GAEG;AACH,MAAM,eAAe,GAAG,GAAkB,EAAE;IAC3C,IAAI,OAAO,MAAM,KAAK,WAAW;QAAE,OAAO,IAAI,CAAC;IAC/C,IAAI,WAAW;QAAE,OAAO,WAAW,CAAC;IAEpC,MAAM,MAAM,GAAG,YAAY,CAAC,OAAO,CAAC,kBAAkB,CAAC,CAAC;IACxD,IAAI,MAAM,EAAE,CAAC;QACZ,WAAW,GAAG,MAAM,CAAC;IACtB,CAAC;IACD,OAAO,WAAW,CAAC;AACpB,CAAC,CAAC;AA+BF,wBAAwB;AACxB,MAAM,oBAAoB,GAAG,GAAG,EAAE;IACjC,MAAM,KAAK,GAAG,IAAI,UAAU,CAAC,EAAE,CAAC,CAAC;IACjC,MAAM,CAAC,eAAe,CAAC,KAAK,CAAC,CAAC;IAC9B,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,KAAK,CAAC,CAAC;SACxC,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF,MAAM,qBAAqB,GAAG,KAAK,EAAE,QAAgB,EAAE,EAAE;IACxD,MAAM,OAAO,GAAG,IAAI,WAAW,EAAE,CAAC;IAClC,MAAM,IAAI,GAAG,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACtC,MAAM,IAAI,GAAG,MAAM,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC;IACzD,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,CAAC,GAAG,IAAI,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;SACvD,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,KAAK,EAAE,GAAG,CAAC;SACnB,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC,CAAC;AACrB,CAAC,CAAC;AAEF;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,GAAG,EAAE;IAC/B,OAAO;QACN,EAAE,EAAE,OAAO;QAEX,UAAU,EAAE,CAAC,MAAM,EAAE,EAAE;YACtB,OAAO;gBACN,YAAY,EAAE;oBACb;;uBAEG;oBACH,SAAS,EAAE,KAAK,IAAiC,EAAE;wBAClD,MAAM,GAAG,GAAG,MAAM,MAAM,CACvB,sBAAsB,EACtB;4BACC,MAAM,EAAE,KAAK;yBACb,CACD,CAAC;wBACF,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;4BACf,MAAM,IAAI,KAAK,CACd,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,qCAAqC,CAC1D,CAAC;wBACH,CAAC;wBACD,OAAO,GAAG,CAAC,IAA0B,CAAC;oBACvC,CAAC;oBAED;;uBAEG;oBACH,OAAO,EAAE,CACR,WAA6B,EAC7B,YAA8B,EACpB,EAAE;wBACZ,MAAM,YAAY,GAAqC;4BACtD,IAAI,EAAE,CAAC;4BACP,IAAI,EAAE,CAAC;4BACP,GAAG,EAAE,CAAC;4BACN,OAAO,EAAE,CAAC;4BACV,UAAU,EAAE,CAAC;yBACb,CAAC;wBACF,OAAO,YAAY,CAAC,WAAW,CAAC,IAAI,YAAY,CAAC,YAAY,CAAC,CAAC;oBAChE,CAAC;iBACD;gBACD,MAAM,EAAE;oBACP;;;uBAGG;oBACH,YAAY,EAAE,KAAK,EAClB,KAAc,EAC4B,EAAE;wBAC5C,MAAM,GAAG,GAAG,KAAK;4BAChB,CAAC,CAAC,yBAAyB,kBAAkB,CAAC,KAAK,CAAC,EAAE;4BACtD,CAAC,CAAC,iBAAiB,CAAC;wBACrB,MAAM,GAAG,GAAG,MAAM,MAAM,CAAiC,GAAG,EAAE;4BAC7D,MAAM,EAAE,KAAK;yBACb,CAAC,CAAC;wBACH,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;4BACf,MAAM,IAAI,KAAK,CACd,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,mCAAmC,CACxD,CAAC;wBACH,CAAC;wBACD,OAAO,GAAG,CAAC,IAAsC,CAAC;oBACnD,CAAC;oBAED;;;;;uBAKG;oBACH,OAAO,EAAE,KAAK,EACb,KAAa,EACb,SAAiB,EACjB,QAAQ,GAAG,OAAO,EAMhB,EAAE;wBACJ,MAAM,GAAG,GAAG,MAAM,MAAM,CAKrB,iBAAiB,EAAE;4BACrB,MAAM,EAAE,MAAM;4BACd,IAAI,EAAE;gCACL,KAAK;gCACL,SAAS;gCACT,QAAQ;6BACR;yBACD,CAAC,CAAC;wBACH,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;4BACf,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,0BAA0B,CAAC,CAAC;wBAClE,CAAC;wBACD,OAAO,GAAG,CAAC,IAKV,CAAC;oBACH,CAAC;oBAED;;;;;uBAKG;oBACH,UAAU,EAAE,KAAK,EAChB,KAAa,EACb,OAAe,EACwC,EAAE;wBACzD,MAAM,GAAG,GAAG,MAAM,MAAM,CAIvB,yBAAyB,kBAAkB,CAAC,KAAK,CAAC,YAAY,kBAAkB,CAAC,OAAO,CAAC,EAAE,EAC3F;4BACC,MAAM,EAAE,QAAQ;yBAChB,CACD,CAAC;wBACF,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;4BACf,MAAM,IAAI,KAAK,CACd,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,6BAA6B,CAClD,CAAC;wBACH,CAAC;wBACD,OAAO,GAAG,CAAC,IAAmD,CAAC;oBAChE,CAAC;oBAED;;;;uBAIG;oBACH,UAAU,EAAE,KAAK,EAChB,KAAa,EACb,aAAqB,EACmC,EAAE;wBAC1D,MAAM,GAAG,GAAG,MAAM,MAAM,CAGrB,qBAAqB,EAAE;4BACzB,MAAM,EAAE,MAAM;4BACd,IAAI,EAAE;gCACL,KAAK;gCACL,aAAa;6BACb;yBACD,CAAC,CAAC;wBACH,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;4BACf,MAAM,IAAI,KAAK,CACd,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,8BAA8B,CACnD,CAAC;wBACH,CAAC;wBACD,OAAO,GAAG,CAAC,IAAoD,CAAC;oBACjE,CAAC;iBACD;gBACD,GAAG,EAAE;oBACJ;;;uBAGG;oBACH,IAAI,EAAE,KAAK,EAAE,OAAO,GAAG,KAAK,EAA4B,EAAE;wBACzD,MAAM,GAAG,GAAG,OAAO,CAAC,CAAC,CAAC,2BAA2B,CAAC,CAAC,CAAC,cAAc,CAAC;wBACnE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAkB,GAAG,EAAE;4BAC9C,MAAM,EAAE,KAAK;yBACb,CAAC,CAAC;wBACH,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;4BACf,MAAM,IAAI,KAAK,CAAC,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,sBAAsB,CAAC,CAAC;wBAC9D,CAAC;wBACD,OAAO,GAAG,CAAC,IAAuB,CAAC;oBACpC,CAAC;oBAED;;;;;;uBAMG;oBACH,eAAe,EAAE,KAAK,EAAE,MAIvB,EAAiC,EAAE;wBACnC,MAAM,GAAG,GAAG,MAAM,MAAM,CACvB,0BAA0B,EAC1B;4BACC,MAAM,EAAE,MAAM;4BACd,IAAI,EAAE,MAAM;yBACZ,CACD,CAAC;wBACF,IAAI,GAAG,CAAC,KAAK,EAAE,CAAC;4BACf,MAAM,IAAI,KAAK,CACd,GAAG,CAAC,KAAK,CAAC,OAAO,IAAI,gCAAgC,CACrD,CAAC;wBACH,CAAC;wBACD,OAAO,GAAG,CAAC,IAA4B,CAAC;oBACzC,CAAC;iBACD;gBACD,MAAM,EAAE;oBACP,KAAK,EAAE,KAAK,EACX,OAA4B,EAC5B,YAAgC,EAC/B,EAAE;wBACH,aAAa;wBACb,iEAAiE;wBACjE,8DAA8D;wBAC9D,IAAI,OAAO,EAAE,SAAS,EAAE,CAAC;4BACxB,qEAAqE;4BACrE,uEAAuE;4BACvE,MAAM,GAAG,GAAG,MAAM,MAAM,CAAC,gBAAgB,EAAE;gCAC1C,GAAG,YAAY;gCACf,MAAM,EAAE,MAAM;gCACd,IAAI,EAAE,EAAE,EAAE,2DAA2D;gCACrE,OAAO,EAAE;oCACR,GAAI,YAAY,EAAE,OAAkC;oCACpD,cAAc,EAAE,OAAO,CAAC,SAAS;iCACjC;6BACD,CAAC,CAAC;4BACH,OAAO,GAAG,CAAC;wBACZ,CAAC;wBAED,kDAAkD;wBAClD,4CAA4C;wBAC5C,IAAI,CAAC,OAAO,EAAE,QAAQ,EAAE,CAAC;4BACxB,MAAM,IAAI,KAAK,CACd,oDAAoD;gCACnD,uHAAuH,CACxH,CAAC;wBACH,CAAC;wBAED,MAAM,KAAK,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;wBAEtD,8CAA8C;wBAC9C,MAAM,YAAY,GAAG,oBAAoB,EAAE,CAAC;wBAC5C,MAAM,aAAa,GAAG,MAAM,qBAAqB,CAAC,YAAY,CAAC,CAAC;wBAEhE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;4BACnC,cAAc,CAAC,OAAO,CAAC,mBAAmB,EAAE,KAAK,CAAC,CAAC;4BACnD,cAAc,CAAC,OAAO,CAAC,qBAAqB,EAAE,YAAY,CAAC,CAAC;4BAC5D,8CAA8C;4BAC9C,IAAI,OAAO,EAAE,gBAAgB,EAAE,CAAC;gCAC/B,cAAc,CAAC,OAAO,CACrB,sBAAsB,EACtB,OAAO,CAAC,gBAAgB,CACxB,CAAC;4BACH,CAAC;iCAAM,CAAC;gCACP,cAAc,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;4BACnD,CAAC;wBACF,CAAC;wBAED,MAAM,OAAO,GACZ,OAAO,OAAO,KAAK,WAAW;4BAC7B,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,0BAA0B;gCACvC,gCAAgC;4BACjC,CAAC,CAAC,gCAAgC,CAAC;wBAErC,wEAAwE;wBACxE,MAAM,MAAM,GACX,OAAO,MAAM,KAAK,WAAW,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC;wBAC7D,MAAM,YAAY,GAAG,OAAO,EAAE,WAAW,IAAI,sBAAsB,CAAC;wBACpE,MAAM,WAAW,GAAG,YAAY,CAAC,UAAU,CAAC,MAAM,CAAC;4BAClD,CAAC,CAAC,YAAY;4BACd,CAAC,CAAC,GAAG,MAAM,GAAG,YAAY,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,YAAY,EAAE,EAAE,CAAC;wBAElF,MAAM,MAAM,GAAG,IAAI,eAAe,CAAC;4BAClC,SAAS,EAAE,OAAO,CAAC,QAAQ;4BAC3B,YAAY,EAAE,WAAW;4BACzB,aAAa,EAAE,MAAM;4BACrB,KAAK;4BACL,KAAK,EAAE,0BAA0B;4BACjC,cAAc,EAAE,aAAa;4BAC7B,qBAAqB,EAAE,MAAM;yBAC7B,CAAC,CAAC;wBAEH,IAAI,OAAO,EAAE,QAAQ,EAAE,CAAC;4BACvB,MAAM,CAAC,MAAM,CAAC,UAAU,EAAE,OAAO,CAAC,QAAQ,CAAC,CAAC;wBAC7C,CAAC;wBAED,mEAAmE;wBACnE,0DAA0D;wBAC1D,uEAAuE;wBACvE,MAAM,WAAW,GAAG,GAAG,OAAO,qBAAqB,MAAM,CAAC,QAAQ,EAAE,EAAE,CAAC;wBAEvE,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;4BACnC,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,WAAW,CAAC;wBACpC,CAAC;wBAED,OAAO,IAAI,OAAO,CAAC,GAAG,EAAE,GAAE,CAAC,CAAC,CAAC;oBAC9B,CAAC;iBACD;gBACD,KAAK,EAAE;oBACN;;;;;;;uBAOG;oBACH,cAAc,EAAE,KAAK,EACpB,YAA6B,EACE,EAAE;wBACjC,wBAAwB;wBACxB,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBACxC,IAAI,KAAK,EAAE,CAAC;4BACX,MAAM,gBAAgB,GAAG,YAAY,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;4BAC/D,MAAM;gCACL,KAAK,EAAE,sBAAsB;gCAC7B,OAAO,EACN,gBAAgB;oCAChB,KAAK;oCACL,kDAAkD;6BAC7B,CAAC;wBACzB,CAAC;wBAED,+BAA+B;wBAC/B,MAAM,IAAI,GAAG,YAAY,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;wBACtC,MAAM,KAAK,GAAG,YAAY,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;wBAExC,IAAI,CAAC,IAAI,EAAE,CAAC;4BACX,MAAM;gCACL,KAAK,EAAE,4BAA4B;gCACnC,OAAO,EACN,yEAAyE;6BACpD,CAAC;wBACzB,CAAC;wBAED,mCAAmC;wBACnC,MAAM,UAAU,GACf,OAAO,MAAM,KAAK,WAAW;4BAC5B,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,mBAAmB,CAAC;4BAC7C,CAAC,CAAC,IAAI,CAAC;wBAET,IAAI,KAAK,KAAK,UAAU,EAAE,CAAC;4BAC1B,sBAAsB;4BACtB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;gCACnC,cAAc,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;4BAChD,CAAC;4BAED,MAAM;gCACL,KAAK,EAAE,gBAAgB;gCACvB,OAAO,EACN,uDAAuD;6BAClC,CAAC;wBACzB,CAAC;wBAED,4CAA4C;wBAC5C,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;4BACnC,cAAc,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;wBAChD,CAAC;wBAED,oBAAoB;wBACpB,MAAM,YAAY,GACjB,OAAO,MAAM,KAAK,WAAW;4BAC5B,CAAC,CAAC,cAAc,CAAC,OAAO,CAAC,qBAAqB,CAAC,IAAI,SAAS;4BAC5D,CAAC,CAAC,SAAS,CAAC;wBAEd,2CAA2C;wBAC3C,2EAA2E;wBAC3E,IAAI,CAAC;4BACJ,MAAM,QAAQ,GAAG,MAAM,KAAK,CAAC,0BAA0B,EAAE;gCACxD,MAAM,EAAE,MAAM;gCACd,OAAO,EAAE;oCACR,cAAc,EAAE,kBAAkB;iCAClC;gCACD,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;oCACpB,IAAI;oCACJ,KAAK;oCACL,aAAa,EAAE,YAAY;iCAC3B,CAAC;6BACF,CAAC,CAAC;4BAEH,IAAI,CAAC,QAAQ,CAAC,EAAE,EAAE,CAAC;gCAClB,IAAI,YAAY,GACf,yDAAyD,CAAC;gCAC3D,IAAI,UAAU,GAAG,uBAAuB,CAAC;gCAEzC,IAAI,CAAC;oCACJ,MAAM,SAAS,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAKvC,CAAC;oCACF,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,IAAI,SAAS,CAAC;oCACjD,MAAM,MAAM,GAAG,SAAS,CAAC,MAAM,IAAI,QAAQ,CAAC,MAAM,CAAC;oCAEnD,wCAAwC;oCACxC,IAAI,SAAS,CAAC,OAAO,EAAE,CAAC;wCACvB,IAAI,CAAC;4CACJ,MAAM,WAAW,GAAG,IAAI,CAAC,KAAK,CAAC,SAAS,CAAC,OAAO,CAG/C,CAAC;4CACF,IAAI,WAAW,CAAC,iBAAiB,EAAE,CAAC;gDACnC,YAAY,GAAG,WAAW,CAAC,iBAAiB,CAAC;4CAC9C,CAAC;4CACD,IAAI,WAAW,CAAC,KAAK,KAAK,gBAAgB,EAAE,CAAC;gDAC5C,UAAU,GAAG,yBAAyB,CAAC;gDACvC,YAAY;oDACX,iEAAiE,CAAC;4CACpE,CAAC;wCACF,CAAC;wCAAC,MAAM,CAAC;4CACR,YAAY,GAAG,SAAS,CAAC,OAAO,CAAC;wCAClC,CAAC;oCACF,CAAC;yCAAM,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;wCAC5B,YAAY,GAAG,SAAS,CAAC,KAAK,CAAC;oCAChC,CAAC;oCAED,YAAY,IAAI,gBAAgB,MAAM,KAAK,QAAQ,GAAG,CAAC;gCACxD,CAAC;gCAAC,MAAM,CAAC;oCACR,4BAA4B;gCAC7B,CAAC;gCAED,MAAM;oCACL,KAAK,EAAE,UAAU;oCACjB,OAAO,EAAE,YAAY;iCACC,CAAC;4BACzB,CAAC;4BAED,MAAM,IAAI,GAAG,CAAC,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAwB,CAAC;4BAE5D,6DAA6D;4BAC7D,MAAM,KAAK,GAAG,IAAI,CAAC,IAAI,EAAE,MAAM,CAAC;4BAChC,IAAI,KAAK,EAAE,CAAC;gCACX,WAAW,GAAG,KAAK,CAAC;gCACpB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;oCACnC,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;gCACjD,CAAC;4BACF,CAAC;4BAED,OAAO;gCACN,IAAI,EAAE,IAAI,CAAC,IAAI;gCACf,YAAY,EAAE,IAAI,CAAC,YAAY;gCAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;gCACvB,aAAa,EAAE,IAAI,CAAC,aAAa;6BACjC,CAAC;wBACH,CAAC;wBAAC,OAAO,GAAG,EAAE,CAAC;4BACd,4CAA4C;4BAC5C,IACC,OAAO,GAAG,KAAK,QAAQ;gCACvB,GAAG,KAAK,IAAI;gCACZ,OAAO,IAAI,GAAG;gCACd,SAAS,IAAI,GAAG,EACf,CAAC;gCACF,MAAM,GAAG,CAAC;4BACX,CAAC;4BAED,iCAAiC;4BACjC,MAAM;gCACL,KAAK,EAAE,uBAAuB;gCAC9B,OAAO,EACN,GAAG,YAAY,KAAK;oCACnB,CAAC,CAAC,GAAG,CAAC,OAAO;oCACb,CAAC,CAAC,4BAA4B;6BACV,CAAC;wBACzB,CAAC;oBACF,CAAC;oBAED;;;;;;;;;;;;;;;;;uBAiBG;oBACH,IAAI,EAAE,KAAK,EACV,WAAmB,EACnB,IAAsB,EACtB,gBAAiC,OAAO,EACtB,EAAE;wBACpB,oDAAoD;wBACpD,MAAM,KAAK,GAAG,WAAW,IAAI,eAAe,EAAE,CAAC;wBAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;4BACZ,MAAM,IAAI,KAAK,CACd,oEAAoE,CACpE,CAAC;wBACH,CAAC;wBAED,MAAM,cAAc,GAAG,MAAM,iBAAiB,EAAE,CAAC;wBACjD,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;wBAElC,2BAA2B;wBAC3B,MAAM,UAAU,GACf,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;wBAEhE,OAAO,cAAc,CAAC,IAAI,CAAC,WAAW,EAAE,UAAU,EAAE,aAAa,CAAC,CAAC;oBACpE,CAAC;oBAED;;;;;;;;;;;;uBAYG;oBACH,OAAO,EAAE,KAAK,EAAE,QAAkB,EAAqB,EAAE;wBACxD,MAAM,KAAK,GAAG,WAAW,IAAI,eAAe,EAAE,CAAC;wBAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;4BACZ,MAAM,IAAI,KAAK,CACd,oEAAoE,CACpE,CAAC;wBACH,CAAC;wBAED,MAAM,cAAc,GAAG,MAAM,iBAAiB,EAAE,CAAC;wBACjD,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;wBAElC,OAAO,cAAc,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;oBACzC,CAAC;oBAED;;;;;;;;;;;;;;;;;;uBAkBG;oBACH,OAAO,EAAE,KAAK,EACb,IAAY,EACZ,WAAmB,EACnB,cAAuB,EACL,EAAE;wBACpB,MAAM,KAAK,GAAG,WAAW,IAAI,eAAe,EAAE,CAAC;wBAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;4BACZ,MAAM,IAAI,KAAK,CACd,oEAAoE,CACpE,CAAC;wBACH,CAAC;wBAED,MAAM,cAAc,GAAG,MAAM,iBAAiB,EAAE,CAAC;wBACjD,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;wBAElC,OAAO,cAAc,CAAC,OAAO,CAAC,IAAI,EAAE,WAAW,EAAE,cAAc,CAAC,CAAC;oBAClE,CAAC;oBAED;;;;;;;;;;;;;;;;;;uBAkBG;oBACH,OAAO,EAAE,KAAK,EACb,UAAkB,EAClB,WAAmB,EACnB,cAAuB,EACL,EAAE;wBACpB,MAAM,KAAK,GAAG,WAAW,IAAI,eAAe,EAAE,CAAC;wBAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;4BACZ,MAAM,IAAI,KAAK,CACd,oEAAoE,CACpE,CAAC;wBACH,CAAC;wBAED,MAAM,cAAc,GAAG,MAAM,iBAAiB,EAAE,CAAC;wBACjD,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;wBAElC,OAAO,cAAc,CAAC,OAAO,CAC5B,UAAU,EACV,WAAW,EACX,cAAc,CACd,CAAC;oBACH,CAAC;oBAED;;;;;;;;;;;;;uBAaG;oBACH,kBAAkB,EAAE,KAAK,EAAE,WAAmB,EAAmB,EAAE;wBAClE,MAAM,KAAK,GAAG,WAAW,IAAI,eAAe,EAAE,CAAC;wBAC/C,IAAI,CAAC,KAAK,EAAE,CAAC;4BACZ,MAAM,IAAI,KAAK,CACd,oEAAoE,CACpE,CAAC;wBACH,CAAC;wBAED,MAAM,cAAc,GAAG,MAAM,iBAAiB,EAAE,CAAC;wBACjD,cAAc,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;wBAElC,OAAO,cAAc,CAAC,kBAAkB,CAAC,WAAW,CAAC,CAAC;oBACvD,CAAC;oBAED;;;uBAGG;oBACH,WAAW,EAAE,GAAkB,EAAE;wBAChC,OAAO,WAAW,IAAI,eAAe,EAAE,CAAC;oBACzC,CAAC;oBAED;;;;;;uBAMG;oBACH,WAAW,EAAE,CAAC,KAAa,EAAQ,EAAE;wBACpC,WAAW,GAAG,KAAK,CAAC;wBACpB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;4BACnC,YAAY,CAAC,OAAO,CAAC,kBAAkB,EAAE,KAAK,CAAC,CAAC;wBACjD,CAAC;wBACD,sCAAsC;wBACtC,IAAI,MAAM,EAAE,CAAC;4BACZ,MAAM,CAAC,WAAW,CAAC,KAAK,CAAC,CAAC;wBAC3B,CAAC;oBACF,CAAC;oBAED;;;uBAGG;oBACH,aAAa,EAAE,GAAS,EAAE;wBACzB,WAAW,GAAG,IAAI,CAAC;wBACnB,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;4BACnC,YAAY,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;wBAC7C,CAAC;wBACD,IAAI,MAAM,EAAE,CAAC;4BACZ,MAAM,CAAC,OAAO,EAAE,CAAC;4BACjB,MAAM,GAAG,IAAI,CAAC;wBACf,CAAC;oBACF,CAAC;oBAED;;;uBAGG;oBACH,OAAO,EAAE,GAAY,EAAE;wBACtB,MAAM,KAAK,GAAG,WAAW,IAAI,eAAe,EAAE,CAAC;wBAC/C,OAAO,CAAC,CAAC,KAAK,CAAC;oBAChB,CAAC;oBAED;;;uBAGG;oBACH,mBAAmB,EAAE,GAAW,EAAE;wBACjC,IAAI,OAAO,MAAM,KAAK,WAAW;4BAAE,OAAO,mBAAmB,CAAC;wBAC9D,OAAO,CACN,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC;4BAC9C,mBAAmB,CACnB,CAAC;oBACH,CAAC;oBAED;;;;;;;;;;;;;;uBAcG;oBACH,eAAe,EAAE,CAAC,KAAc,EAAQ,EAAE;wBACzC,IAAI,OAAO,MAAM,KAAK,WAAW;4BAAE,OAAO;wBAE1C,MAAM,gBAAgB,GACrB,cAAc,CAAC,OAAO,CAAC,sBAAsB,CAAC;4BAC9C,mBAAmB,CAAC;wBAErB,2BAA2B;wBAC3B,cAAc,CAAC,UAAU,CAAC,sBAAsB,CAAC,CAAC;wBAClD,cAAc,CAAC,UAAU,CAAC,mBAAmB,CAAC,CAAC;wBAC/C,cAAc,CAAC,UAAU,CAAC,qBAAqB,CAAC,CAAC;wBAEjD,oCAAoC;wBACpC,MAAM,QAAQ,GAAG,IAAI,GAAG,CAAC,gBAAgB,EAAE,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC;wBAEnE,IACC,KAAK;4BACL,OAAO,KAAK,KAAK,QAAQ;4BACzB,OAAO,IAAI,KAAK;4BAChB,SAAS,IAAI,KAAK,EACjB,CAAC;4BACF,MAAM,UAAU,GAAG,KAA2B,CAAC;4BAC/C,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,UAAU,CAAC,KAAK,CAAC,CAAC;4BACrD,QAAQ,CAAC,YAAY,CAAC,GAAG,CACxB,mBAAmB,EACnB,UAAU,CAAC,OAAO,CAClB,CAAC;wBACH,CAAC;6BAAM,IAAI,KAAK,YAAY,KAAK,EAAE,CAAC;4BACnC,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;4BACrD,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,mBAAmB,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;wBAC/D,CAAC;6BAAM,CAAC;4BACP,QAAQ,CAAC,YAAY,CAAC,GAAG,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;4BACpD,QAAQ,CAAC,YAAY,CAAC,GAAG,CACxB,mBAAmB,EACnB,2BAA2B,CAC3B,CAAC;wBACH,CAAC;wBAED,MAAM,CAAC,QAAQ,CAAC,IAAI,GAAG,QAAQ,CAAC,QAAQ,EAAE,CAAC;oBAC5C,CAAC;iBACD;aACD,CAAC;QACH,CAAC;KACgC,CAAC;AACpC,CAAC,CAAC"}
|
package/dist/next/index.d.ts
CHANGED
|
@@ -19,7 +19,7 @@ export interface CallbackRouteConfig {
|
|
|
19
19
|
clientId?: string;
|
|
20
20
|
/** Member private key for signing (default: SIGMA_MEMBER_PRIVATE_KEY env) */
|
|
21
21
|
memberPrivateKey?: string;
|
|
22
|
-
/** Callback path (default: /callback) */
|
|
22
|
+
/** Callback path (default: /auth/sigma/callback) */
|
|
23
23
|
callbackPath?: string;
|
|
24
24
|
}
|
|
25
25
|
/**
|
|
@@ -28,23 +28,12 @@ export interface CallbackRouteConfig {
|
|
|
28
28
|
*
|
|
29
29
|
* @example
|
|
30
30
|
* ```typescript
|
|
31
|
-
* // app/api/auth/callback/route.ts
|
|
31
|
+
* // app/api/auth/sigma/callback/route.ts
|
|
32
32
|
* import { createCallbackHandler } from "@sigma-auth/better-auth-plugin/next";
|
|
33
33
|
*
|
|
34
34
|
* export const runtime = "nodejs";
|
|
35
35
|
* export const POST = createCallbackHandler();
|
|
36
36
|
* ```
|
|
37
|
-
*
|
|
38
|
-
* @example
|
|
39
|
-
* ```typescript
|
|
40
|
-
* // With custom config
|
|
41
|
-
* import { createCallbackHandler } from "@sigma-auth/better-auth-plugin/next";
|
|
42
|
-
*
|
|
43
|
-
* export const runtime = "nodejs";
|
|
44
|
-
* export const POST = createCallbackHandler({
|
|
45
|
-
* callbackPath: "/auth/callback"
|
|
46
|
-
* });
|
|
47
|
-
* ```
|
|
48
37
|
*/
|
|
49
38
|
export declare function createCallbackHandler(config?: CallbackRouteConfig): (request: NextRequest) => Promise<Response>;
|
|
50
39
|
/**
|
|
@@ -52,5 +41,39 @@ export declare function createCallbackHandler(config?: CallbackRouteConfig): (re
|
|
|
52
41
|
* Set to nodejs to support bitcoin-auth cryptography
|
|
53
42
|
*/
|
|
54
43
|
export declare const runtime = "nodejs";
|
|
44
|
+
/**
|
|
45
|
+
* Error info extracted from URL search params
|
|
46
|
+
*/
|
|
47
|
+
export interface SigmaAuthError {
|
|
48
|
+
error: string;
|
|
49
|
+
errorDescription: string;
|
|
50
|
+
}
|
|
51
|
+
/**
|
|
52
|
+
* Parse error from URL search params on error callback page
|
|
53
|
+
*
|
|
54
|
+
* @param searchParams - URL search params from error callback
|
|
55
|
+
* @returns Parsed error info or null if no error
|
|
56
|
+
*
|
|
57
|
+
* @example
|
|
58
|
+
* ```typescript
|
|
59
|
+
* // app/auth/sigma/error/page.tsx
|
|
60
|
+
* import { parseErrorParams } from "@sigma-auth/better-auth-plugin/next";
|
|
61
|
+
*
|
|
62
|
+
* export default function ErrorPage() {
|
|
63
|
+
* const searchParams = useSearchParams();
|
|
64
|
+
* const error = parseErrorParams(searchParams);
|
|
65
|
+
*
|
|
66
|
+
* return (
|
|
67
|
+
* <div>
|
|
68
|
+
* <h1>{error?.error || "Unknown Error"}</h1>
|
|
69
|
+
* <p>{error?.errorDescription}</p>
|
|
70
|
+
* </div>
|
|
71
|
+
* );
|
|
72
|
+
* }
|
|
73
|
+
* ```
|
|
74
|
+
*/
|
|
75
|
+
export declare function parseErrorParams(searchParams: URLSearchParams | {
|
|
76
|
+
get: (key: string) => string | null;
|
|
77
|
+
}): SigmaAuthError | null;
|
|
55
78
|
export {};
|
|
56
79
|
//# 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;AAOH,UAAU,WAAW;IACpB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;KACf,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC,oGAAoG;IACpG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAOH,UAAU,WAAW;IACpB,IAAI,IAAI,OAAO,CAAC,OAAO,CAAC,CAAC;IACzB,OAAO,EAAE;QACR,MAAM,EAAE,MAAM,CAAC;KACf,CAAC;CACF;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC,oGAAoG;IACpG,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,6DAA6D;IAC7D,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,6EAA6E;IAC7E,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,oDAAoD;IACpD,YAAY,CAAC,EAAE,MAAM,CAAC;CACtB;AAED;;;;;;;;;;;;GAYG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,CAAC,EAAE,mBAAmB,IACnD,SAAS,WAAW,uBA6GlC;AAED;;;GAGG;AACH,eAAO,MAAM,OAAO,WAAW,CAAC;AAEhC;;GAEG;AACH,MAAM,WAAW,cAAc;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,gBAAgB,EAAE,MAAM,CAAC;CACzB;AAED;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,wBAAgB,gBAAgB,CAC/B,YAAY,EAAE,eAAe,GAAG;IAAE,GAAG,EAAE,CAAC,GAAG,EAAE,MAAM,KAAK,MAAM,GAAG,IAAI,CAAA;CAAE,GACrE,cAAc,GAAG,IAAI,CASvB"}
|
package/dist/next/index.js
CHANGED
|
@@ -9,23 +9,12 @@ import { exchangeCodeForTokens, } from "../server/index.js";
|
|
|
9
9
|
*
|
|
10
10
|
* @example
|
|
11
11
|
* ```typescript
|
|
12
|
-
* // app/api/auth/callback/route.ts
|
|
12
|
+
* // app/api/auth/sigma/callback/route.ts
|
|
13
13
|
* import { createCallbackHandler } from "@sigma-auth/better-auth-plugin/next";
|
|
14
14
|
*
|
|
15
15
|
* export const runtime = "nodejs";
|
|
16
16
|
* export const POST = createCallbackHandler();
|
|
17
17
|
* ```
|
|
18
|
-
*
|
|
19
|
-
* @example
|
|
20
|
-
* ```typescript
|
|
21
|
-
* // With custom config
|
|
22
|
-
* import { createCallbackHandler } from "@sigma-auth/better-auth-plugin/next";
|
|
23
|
-
*
|
|
24
|
-
* export const runtime = "nodejs";
|
|
25
|
-
* export const POST = createCallbackHandler({
|
|
26
|
-
* callbackPath: "/auth/callback"
|
|
27
|
-
* });
|
|
28
|
-
* ```
|
|
29
18
|
*/
|
|
30
19
|
export function createCallbackHandler(config) {
|
|
31
20
|
return async (request) => {
|
|
@@ -52,7 +41,7 @@ export function createCallbackHandler(config) {
|
|
|
52
41
|
console.error("[Sigma OAuth Callback] NEXT_PUBLIC_SIGMA_CLIENT_ID not configured");
|
|
53
42
|
return Response.json({ error: "Server configuration error", details: "Missing client ID" }, { status: 500 });
|
|
54
43
|
}
|
|
55
|
-
const callbackPath = config?.callbackPath || "/callback";
|
|
44
|
+
const callbackPath = config?.callbackPath || "/auth/sigma/callback";
|
|
56
45
|
const redirectUri = `${request.nextUrl.origin}${callbackPath}`;
|
|
57
46
|
console.log("[Sigma OAuth Callback] Exchanging code for tokens:", {
|
|
58
47
|
issuerUrl,
|
|
@@ -106,4 +95,37 @@ export function createCallbackHandler(config) {
|
|
|
106
95
|
* Set to nodejs to support bitcoin-auth cryptography
|
|
107
96
|
*/
|
|
108
97
|
export const runtime = "nodejs";
|
|
98
|
+
/**
|
|
99
|
+
* Parse error from URL search params on error callback page
|
|
100
|
+
*
|
|
101
|
+
* @param searchParams - URL search params from error callback
|
|
102
|
+
* @returns Parsed error info or null if no error
|
|
103
|
+
*
|
|
104
|
+
* @example
|
|
105
|
+
* ```typescript
|
|
106
|
+
* // app/auth/sigma/error/page.tsx
|
|
107
|
+
* import { parseErrorParams } from "@sigma-auth/better-auth-plugin/next";
|
|
108
|
+
*
|
|
109
|
+
* export default function ErrorPage() {
|
|
110
|
+
* const searchParams = useSearchParams();
|
|
111
|
+
* const error = parseErrorParams(searchParams);
|
|
112
|
+
*
|
|
113
|
+
* return (
|
|
114
|
+
* <div>
|
|
115
|
+
* <h1>{error?.error || "Unknown Error"}</h1>
|
|
116
|
+
* <p>{error?.errorDescription}</p>
|
|
117
|
+
* </div>
|
|
118
|
+
* );
|
|
119
|
+
* }
|
|
120
|
+
* ```
|
|
121
|
+
*/
|
|
122
|
+
export function parseErrorParams(searchParams) {
|
|
123
|
+
const error = searchParams.get("error");
|
|
124
|
+
if (!error)
|
|
125
|
+
return null;
|
|
126
|
+
return {
|
|
127
|
+
error,
|
|
128
|
+
errorDescription: searchParams.get("error_description") || "An unknown error occurred",
|
|
129
|
+
};
|
|
130
|
+
}
|
|
109
131
|
//# 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":"AAAA;;;GAGG;AAEH,OAAO,EACN,qBAAqB,GAErB,MAAM,oBAAoB,CAAC;AAwB5B
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/next/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,166 @@
|
|
|
1
|
+
import type { BetterAuthPlugin, User } from "better-auth";
|
|
2
|
+
import type { BAPProfile } from "../types/index.js";
|
|
3
|
+
/**
|
|
4
|
+
* NFT collection configuration for role assignment
|
|
5
|
+
*/
|
|
6
|
+
export interface NFTCollection {
|
|
7
|
+
/** Collection ID (txid_vout format) */
|
|
8
|
+
id: string;
|
|
9
|
+
/** Role to assign when user owns NFTs from this collection */
|
|
10
|
+
role: string;
|
|
11
|
+
}
|
|
12
|
+
/**
|
|
13
|
+
* Token balance gate configuration for role assignment
|
|
14
|
+
*/
|
|
15
|
+
export interface TokenGate {
|
|
16
|
+
/** Token ticker (e.g., "GM", "LOL") or BSV21 ID */
|
|
17
|
+
ticker: string;
|
|
18
|
+
/** Minimum balance required */
|
|
19
|
+
threshold: number;
|
|
20
|
+
/** Role to assign when threshold is met */
|
|
21
|
+
role: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Extended roles callback type
|
|
25
|
+
* Allows apps to add custom role resolution logic
|
|
26
|
+
*
|
|
27
|
+
* @param user - Better Auth user object
|
|
28
|
+
* @param bap - Bitcoin Attestation Protocol identity
|
|
29
|
+
* @param address - Primary Bitcoin address
|
|
30
|
+
* @returns Array of additional role names to assign
|
|
31
|
+
*/
|
|
32
|
+
export type ExtendRolesCallback = (user: User, bap: BAPProfile | null, address: string | null) => Promise<string[]>;
|
|
33
|
+
/**
|
|
34
|
+
* Configuration options for the Sigma Admin plugin
|
|
35
|
+
*/
|
|
36
|
+
export interface SigmaAdminOptions {
|
|
37
|
+
/**
|
|
38
|
+
* NFT collections for role assignment
|
|
39
|
+
* Users owning NFTs from these collections will receive the specified roles
|
|
40
|
+
*
|
|
41
|
+
* @example
|
|
42
|
+
* ```typescript
|
|
43
|
+
* nftCollections: [
|
|
44
|
+
* { id: "abc123_0", role: "pixel-fox-holder" },
|
|
45
|
+
* { id: "def456_0", role: "premium" },
|
|
46
|
+
* ]
|
|
47
|
+
* ```
|
|
48
|
+
*/
|
|
49
|
+
nftCollections?: NFTCollection[];
|
|
50
|
+
/**
|
|
51
|
+
* Token balance gates for role assignment
|
|
52
|
+
* Users meeting token balance thresholds will receive the specified roles
|
|
53
|
+
*
|
|
54
|
+
* @example
|
|
55
|
+
* ```typescript
|
|
56
|
+
* tokenGates: [
|
|
57
|
+
* { ticker: "GM", threshold: 75000, role: "premium" },
|
|
58
|
+
* { ticker: "GM", threshold: 1000000, role: "whale" },
|
|
59
|
+
* ]
|
|
60
|
+
* ```
|
|
61
|
+
*/
|
|
62
|
+
tokenGates?: TokenGate[];
|
|
63
|
+
/**
|
|
64
|
+
* Admin BAP IDs whitelist
|
|
65
|
+
* Users with these BAP IDs will receive the "admin" role
|
|
66
|
+
*/
|
|
67
|
+
adminBAPIds?: string[];
|
|
68
|
+
/**
|
|
69
|
+
* Custom role resolution callback
|
|
70
|
+
* Extend roles with app-specific logic (e.g., Discord trust system, database lookups)
|
|
71
|
+
*
|
|
72
|
+
* @example
|
|
73
|
+
* ```typescript
|
|
74
|
+
* extendRoles: async (user, bap, address) => {
|
|
75
|
+
* const roles = [];
|
|
76
|
+
*
|
|
77
|
+
* // Map Bitcoin address to Discord user
|
|
78
|
+
* const discordUserId = await getDiscordUserByAddress(address);
|
|
79
|
+
* if (discordUserId) {
|
|
80
|
+
* if (await isKingmaker(discordUserId)) {
|
|
81
|
+
* roles.push("kingmaker");
|
|
82
|
+
* }
|
|
83
|
+
* }
|
|
84
|
+
*
|
|
85
|
+
* return roles;
|
|
86
|
+
* }
|
|
87
|
+
* ```
|
|
88
|
+
*/
|
|
89
|
+
extendRoles?: ExtendRolesCallback;
|
|
90
|
+
/**
|
|
91
|
+
* Get connected wallet addresses for a user's BAP profile
|
|
92
|
+
* Required for NFT/token checking
|
|
93
|
+
*
|
|
94
|
+
* @param userId - Better Auth user ID
|
|
95
|
+
* @returns Array of Bitcoin addresses from connected wallets
|
|
96
|
+
*/
|
|
97
|
+
getWalletAddresses?: (userId: string) => Promise<string[]>;
|
|
98
|
+
/**
|
|
99
|
+
* NFT ownership checker function
|
|
100
|
+
* Required if using nftCollections
|
|
101
|
+
*
|
|
102
|
+
* @param address - Bitcoin address to check
|
|
103
|
+
* @param collectionId - NFT collection ID (txid_vout)
|
|
104
|
+
* @returns True if address owns at least one NFT from the collection
|
|
105
|
+
*/
|
|
106
|
+
checkNFTOwnership?: (address: string, collectionId: string) => Promise<boolean>;
|
|
107
|
+
/**
|
|
108
|
+
* Token balance checker function
|
|
109
|
+
* Required if using tokenGates
|
|
110
|
+
*
|
|
111
|
+
* @param address - Bitcoin address to check
|
|
112
|
+
* @param ticker - Token ticker or ID
|
|
113
|
+
* @returns Token balance as number
|
|
114
|
+
*/
|
|
115
|
+
getTokenBalance?: (address: string, ticker: string) => Promise<number>;
|
|
116
|
+
/**
|
|
117
|
+
* BAP profile resolver function
|
|
118
|
+
* Fetches BAP identity data for a user
|
|
119
|
+
*
|
|
120
|
+
* @param userId - Better Auth user ID
|
|
121
|
+
* @returns BAP profile or null
|
|
122
|
+
*/
|
|
123
|
+
getBAPProfile?: (userId: string) => Promise<BAPProfile | null>;
|
|
124
|
+
}
|
|
125
|
+
/**
|
|
126
|
+
* Sigma Admin Plugin for Better Auth
|
|
127
|
+
* Provides Bitcoin-native role resolution based on NFT ownership, token balances, and custom logic
|
|
128
|
+
*
|
|
129
|
+
* @example
|
|
130
|
+
* ```typescript
|
|
131
|
+
* import { betterAuth } from "better-auth";
|
|
132
|
+
* import { admin } from "better-auth/plugins";
|
|
133
|
+
* import { sigmaAdminPlugin } from "@sigma-auth/better-auth-plugin/server";
|
|
134
|
+
*
|
|
135
|
+
* export const auth = betterAuth({
|
|
136
|
+
* plugins: [
|
|
137
|
+
* sigmaAdminPlugin({
|
|
138
|
+
* nftCollections: [
|
|
139
|
+
* { id: PIXEL_FOX_COLLECTION_ID, role: "pixel-fox-holder" },
|
|
140
|
+
* ],
|
|
141
|
+
* tokenGates: [
|
|
142
|
+
* { ticker: "GM", threshold: 75000, role: "premium" },
|
|
143
|
+
* ],
|
|
144
|
+
* adminBAPIds: [process.env.SUPERADMIN_BAP_ID],
|
|
145
|
+
* extendRoles: async (user, bap, address) => {
|
|
146
|
+
* // Custom role resolution
|
|
147
|
+
* return [];
|
|
148
|
+
* },
|
|
149
|
+
* checkNFTOwnership: async (address, collectionId) => {
|
|
150
|
+
* const nfts = await fetchNftUtxos(address, collectionId);
|
|
151
|
+
* return nfts.length > 0;
|
|
152
|
+
* },
|
|
153
|
+
* getTokenBalance: async (address, ticker) => {
|
|
154
|
+
* const balance = await fetchTokenBalance(address, ticker);
|
|
155
|
+
* return Number(balance);
|
|
156
|
+
* },
|
|
157
|
+
* }),
|
|
158
|
+
* admin({
|
|
159
|
+
* defaultRole: "user",
|
|
160
|
+
* }),
|
|
161
|
+
* ],
|
|
162
|
+
* });
|
|
163
|
+
* ```
|
|
164
|
+
*/
|
|
165
|
+
export declare const sigmaAdminPlugin: (options?: SigmaAdminOptions) => BetterAuthPlugin;
|
|
166
|
+
//# sourceMappingURL=admin.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.d.ts","sourceRoot":"","sources":["../../src/server/admin.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAC1D,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAEpD;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,uCAAuC;IACvC,EAAE,EAAE,MAAM,CAAC;IACX,8DAA8D;IAC9D,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACzB,mDAAmD;IACnD,MAAM,EAAE,MAAM,CAAC;IACf,+BAA+B;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,2CAA2C;IAC3C,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;;;;;;;GAQG;AACH,MAAM,MAAM,mBAAmB,GAAG,CACjC,IAAI,EAAE,IAAI,EACV,GAAG,EAAE,UAAU,GAAG,IAAI,EACtB,OAAO,EAAE,MAAM,GAAG,IAAI,KAClB,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;AAEvB;;GAEG;AACH,MAAM,WAAW,iBAAiB;IACjC;;;;;;;;;;;OAWG;IACH,cAAc,CAAC,EAAE,aAAa,EAAE,CAAC;IAEjC;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,SAAS,EAAE,CAAC;IAEzB;;;OAGG;IACH,WAAW,CAAC,EAAE,MAAM,EAAE,CAAC;IAEvB;;;;;;;;;;;;;;;;;;;;OAoBG;IACH,WAAW,CAAC,EAAE,mBAAmB,CAAC;IAElC;;;;;;OAMG;IACH,kBAAkB,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,EAAE,CAAC,CAAC;IAE3D;;;;;;;OAOG;IACH,iBAAiB,CAAC,EAAE,CACnB,OAAO,EAAE,MAAM,EACf,YAAY,EAAE,MAAM,KAChB,OAAO,CAAC,OAAO,CAAC,CAAC;IAEtB;;;;;;;OAOG;IACH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAEvE;;;;;;OAMG;IACH,aAAa,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,KAAK,OAAO,CAAC,UAAU,GAAG,IAAI,CAAC,CAAC;CAC/D;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAuCG;AACH,eAAO,MAAM,gBAAgB,GAC5B,UAAS,iBAAsB,KAC7B,gBA6EF,CAAC"}
|
|
@@ -0,0 +1,179 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Sigma Admin Plugin for Better Auth
|
|
3
|
+
* Provides Bitcoin-native role resolution based on NFT ownership, token balances, and custom logic
|
|
4
|
+
*
|
|
5
|
+
* @example
|
|
6
|
+
* ```typescript
|
|
7
|
+
* import { betterAuth } from "better-auth";
|
|
8
|
+
* import { admin } from "better-auth/plugins";
|
|
9
|
+
* import { sigmaAdminPlugin } from "@sigma-auth/better-auth-plugin/server";
|
|
10
|
+
*
|
|
11
|
+
* export const auth = betterAuth({
|
|
12
|
+
* plugins: [
|
|
13
|
+
* sigmaAdminPlugin({
|
|
14
|
+
* nftCollections: [
|
|
15
|
+
* { id: PIXEL_FOX_COLLECTION_ID, role: "pixel-fox-holder" },
|
|
16
|
+
* ],
|
|
17
|
+
* tokenGates: [
|
|
18
|
+
* { ticker: "GM", threshold: 75000, role: "premium" },
|
|
19
|
+
* ],
|
|
20
|
+
* adminBAPIds: [process.env.SUPERADMIN_BAP_ID],
|
|
21
|
+
* extendRoles: async (user, bap, address) => {
|
|
22
|
+
* // Custom role resolution
|
|
23
|
+
* return [];
|
|
24
|
+
* },
|
|
25
|
+
* checkNFTOwnership: async (address, collectionId) => {
|
|
26
|
+
* const nfts = await fetchNftUtxos(address, collectionId);
|
|
27
|
+
* return nfts.length > 0;
|
|
28
|
+
* },
|
|
29
|
+
* getTokenBalance: async (address, ticker) => {
|
|
30
|
+
* const balance = await fetchTokenBalance(address, ticker);
|
|
31
|
+
* return Number(balance);
|
|
32
|
+
* },
|
|
33
|
+
* }),
|
|
34
|
+
* admin({
|
|
35
|
+
* defaultRole: "user",
|
|
36
|
+
* }),
|
|
37
|
+
* ],
|
|
38
|
+
* });
|
|
39
|
+
* ```
|
|
40
|
+
*/
|
|
41
|
+
export const sigmaAdminPlugin = (options = {}) => {
|
|
42
|
+
return {
|
|
43
|
+
id: "sigma-admin",
|
|
44
|
+
schema: {
|
|
45
|
+
user: {
|
|
46
|
+
fields: {
|
|
47
|
+
roles: {
|
|
48
|
+
type: "string",
|
|
49
|
+
required: false,
|
|
50
|
+
defaultValue: "user",
|
|
51
|
+
},
|
|
52
|
+
},
|
|
53
|
+
},
|
|
54
|
+
session: {
|
|
55
|
+
fields: {
|
|
56
|
+
roles: {
|
|
57
|
+
type: "string",
|
|
58
|
+
required: false,
|
|
59
|
+
},
|
|
60
|
+
},
|
|
61
|
+
},
|
|
62
|
+
},
|
|
63
|
+
hooks: {
|
|
64
|
+
after: [
|
|
65
|
+
{
|
|
66
|
+
// After session creation, resolve and attach roles
|
|
67
|
+
matcher: (ctx) => ctx.path === "/sign-in/sigma" ||
|
|
68
|
+
ctx.path === "/session" ||
|
|
69
|
+
ctx.path === "/get-session",
|
|
70
|
+
handler: async (ctx) => {
|
|
71
|
+
// Cast to access internal context properties
|
|
72
|
+
const context = ctx.context;
|
|
73
|
+
const session = context?.session;
|
|
74
|
+
if (!session?.user?.id) {
|
|
75
|
+
return;
|
|
76
|
+
}
|
|
77
|
+
try {
|
|
78
|
+
// Resolve roles for this user
|
|
79
|
+
const roles = await resolveUserRoles(session.user, options);
|
|
80
|
+
// Update session with roles
|
|
81
|
+
const rolesString = roles.join(",");
|
|
82
|
+
// Update the session in the response
|
|
83
|
+
if (context.returned && typeof context.returned === "object") {
|
|
84
|
+
const returned = context.returned;
|
|
85
|
+
if (returned.session?.user) {
|
|
86
|
+
returned.session.user.roles = rolesString;
|
|
87
|
+
}
|
|
88
|
+
if (returned.user) {
|
|
89
|
+
returned.user.roles = rolesString;
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
catch (error) {
|
|
94
|
+
console.error("[Sigma Admin] Error resolving roles:", error);
|
|
95
|
+
// Don't block session on role resolution failure
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
},
|
|
99
|
+
],
|
|
100
|
+
},
|
|
101
|
+
};
|
|
102
|
+
};
|
|
103
|
+
/**
|
|
104
|
+
* Resolve all roles for a user based on configuration
|
|
105
|
+
* @internal
|
|
106
|
+
*/
|
|
107
|
+
async function resolveUserRoles(user, options) {
|
|
108
|
+
const roles = ["user"];
|
|
109
|
+
try {
|
|
110
|
+
// Get BAP profile if resolver provided
|
|
111
|
+
let bap = null;
|
|
112
|
+
if (options.getBAPProfile) {
|
|
113
|
+
bap = await options.getBAPProfile(user.id);
|
|
114
|
+
}
|
|
115
|
+
// Check admin BAP IDs
|
|
116
|
+
if (bap?.idKey && options.adminBAPIds?.includes(bap.idKey)) {
|
|
117
|
+
roles.push("admin");
|
|
118
|
+
}
|
|
119
|
+
// Get connected wallet addresses
|
|
120
|
+
const walletAddresses = [];
|
|
121
|
+
if (options.getWalletAddresses) {
|
|
122
|
+
const addresses = await options.getWalletAddresses(user.id);
|
|
123
|
+
walletAddresses.push(...addresses);
|
|
124
|
+
}
|
|
125
|
+
// Check NFT ownership across all connected wallets
|
|
126
|
+
if (walletAddresses.length > 0 &&
|
|
127
|
+
options.nftCollections &&
|
|
128
|
+
options.nftCollections.length > 0 &&
|
|
129
|
+
options.checkNFTOwnership) {
|
|
130
|
+
for (const collection of options.nftCollections) {
|
|
131
|
+
// Check if ANY wallet owns NFTs from this collection
|
|
132
|
+
let ownsNFT = false;
|
|
133
|
+
for (const address of walletAddresses) {
|
|
134
|
+
if (await options.checkNFTOwnership(address, collection.id)) {
|
|
135
|
+
ownsNFT = true;
|
|
136
|
+
break;
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
if (ownsNFT && !roles.includes(collection.role)) {
|
|
140
|
+
roles.push(collection.role);
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
}
|
|
144
|
+
// Check token balances across all connected wallets
|
|
145
|
+
if (walletAddresses.length > 0 &&
|
|
146
|
+
options.tokenGates &&
|
|
147
|
+
options.tokenGates.length > 0 &&
|
|
148
|
+
options.getTokenBalance) {
|
|
149
|
+
for (const gate of options.tokenGates) {
|
|
150
|
+
// Sum balances across all wallets
|
|
151
|
+
let totalBalance = 0;
|
|
152
|
+
for (const address of walletAddresses) {
|
|
153
|
+
const balance = await options.getTokenBalance(address, gate.ticker);
|
|
154
|
+
totalBalance += balance;
|
|
155
|
+
}
|
|
156
|
+
if (totalBalance >= gate.threshold && !roles.includes(gate.role)) {
|
|
157
|
+
roles.push(gate.role);
|
|
158
|
+
}
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
// Extend with custom roles
|
|
162
|
+
if (options.extendRoles) {
|
|
163
|
+
// Pass first wallet address for backward compatibility
|
|
164
|
+
const primaryAddress = walletAddresses[0] || null;
|
|
165
|
+
const customRoles = await options.extendRoles(user, bap, primaryAddress);
|
|
166
|
+
for (const role of customRoles) {
|
|
167
|
+
if (!roles.includes(role)) {
|
|
168
|
+
roles.push(role);
|
|
169
|
+
}
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
}
|
|
173
|
+
catch (error) {
|
|
174
|
+
console.error("[Sigma Admin] Error in role resolution:", error);
|
|
175
|
+
// Return base "user" role on error
|
|
176
|
+
}
|
|
177
|
+
return roles;
|
|
178
|
+
}
|
|
179
|
+
//# sourceMappingURL=admin.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"admin.js","sourceRoot":"","sources":["../../src/server/admin.ts"],"names":[],"mappings":"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"}
|
package/dist/server/index.d.ts
CHANGED
|
@@ -1,5 +1,6 @@
|
|
|
1
1
|
import type { SigmaUserInfo } from "../types/index.js";
|
|
2
2
|
export type { BAPProfile, SigmaUserInfo } from "../types/index.js";
|
|
3
|
+
export { type ExtendRolesCallback, type NFTCollection, type SigmaAdminOptions, sigmaAdminPlugin, type TokenGate, } from "./admin.js";
|
|
3
4
|
export interface TokenExchangeOptions {
|
|
4
5
|
code: string;
|
|
5
6
|
redirectUri: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGvD,YAAY,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,mBAAmB,CAAC;AAGnE,OAAO,EACN,KAAK,mBAAmB,EACxB,KAAK,aAAa,EAClB,KAAK,iBAAiB,EACtB,gBAAgB,EAChB,KAAK,SAAS,GACd,MAAM,YAAY,CAAC;AAEpB,MAAM,WAAW,oBAAoB;IACpC,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,QAAQ,EAAE,MAAM,CAAC;IACjB,gBAAgB,EAAE,MAAM,CAAC;IACzB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,mBAAmB;IACnC,IAAI,EAAE,aAAa,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,CAAC,EAAE,MAAM,CAAC;CACvB;AAED,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,+DAA+D;IAC/D,QAAQ,CAAC,EAAE,MAAM,CAAC;CAClB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,wBAAsB,qBAAqB,CAC1C,OAAO,EAAE,oBAAoB,GAC3B,OAAO,CAAC,mBAAmB,CAAC,CA8F9B"}
|
package/dist/server/index.js
CHANGED
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
import { getAuthToken } from "bitcoin-auth";
|
|
2
|
+
// Re-export admin plugin
|
|
3
|
+
export { sigmaAdminPlugin, } from "./admin.js";
|
|
2
4
|
/**
|
|
3
5
|
* Exchange OAuth authorization code for access token
|
|
4
6
|
* This function MUST be called server-side only as it requires the member private key
|
package/dist/server/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AAM5C,yBAAyB;AACzB,OAAO,EAIN,gBAAgB,GAEhB,MAAM,YAAY,CAAC;AAuCpB;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CAC1C,OAA6B;IAE7B,MAAM,EACL,IAAI,EACJ,WAAW,EACX,QAAQ,EACR,gBAAgB,EAChB,YAAY,EACZ,SAAS,GAAG,gCAAgC,GAC5C,GAAG,OAAO,CAAC;IAEZ,2BAA2B;IAC3B,MAAM,UAAU,GAA2B;QAC1C,UAAU,EAAE,oBAAoB;QAChC,IAAI;QACJ,YAAY,EAAE,WAAW;QACzB,SAAS,EAAE,QAAQ;KACnB,CAAC;IAEF,IAAI,YAAY,EAAE,CAAC;QAClB,UAAU,CAAC,aAAa,GAAG,YAAY,CAAC;IACzC,CAAC;IAED,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC,QAAQ,EAAE,CAAC;IAE/D,8CAA8C;IAC9C,wEAAwE;IACxE,kEAAkE;IAClE,MAAM,SAAS,GAAG,YAAY,CAAC;QAC9B,aAAa,EAAE,gBAAgB;QAC/B,WAAW,EAAE,wBAAwB;QACrC,IAAI,EAAE,WAAW;KACjB,CAAC,CAAC;IAEH,2BAA2B;IAC3B,MAAM,aAAa,GAAG,MAAM,KAAK,CAAC,GAAG,SAAS,wBAAwB,EAAE;QACvE,MAAM,EAAE,MAAM;QACd,OAAO,EAAE;YACR,cAAc,EAAE,mCAAmC;YACnD,cAAc,EAAE,SAAS;SACzB;QACD,IAAI,EAAE,WAAW;KACjB,CAAC,CAAC;IAEH,IAAI,CAAC,aAAa,CAAC,EAAE,EAAE,CAAC;QACvB,MAAM,SAAS,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QAC7C,MAAM;YACL,KAAK,EAAE,uBAAuB;YAC9B,OAAO,EAAE,SAAS;YAClB,MAAM,EAAE,aAAa,CAAC,MAAM;YAC5B,QAAQ,EAAE,wBAAwB;SACZ,CAAC;IACzB,CAAC;IAED,MAAM,MAAM,GAAwB,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;IAE/D,wDAAwD;IACxD,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACtB,MAAM;YACL,KAAK,EAAE,oCAAoC;YAC3C,OAAO,EACN,sHAAsH;YACvH,MAAM,EAAE,GAAG;YACX,QAAQ,EAAE,wBAAwB;SACZ,CAAC;IACzB,CAAC;IAED,sCAAsC;IACtC,MAAM,gBAAgB,GAAG,MAAM,KAAK,CACnC,GAAG,SAAS,2BAA2B,EACvC;QACC,OAAO,EAAE;YACR,aAAa,EAAE,UAAU,MAAM,CAAC,YAAY,EAAE;SAC9C;KACD,CACD,CAAC;IAEF,IAAI,CAAC,gBAAgB,CAAC,EAAE,EAAE,CAAC;QAC1B,MAAM,aAAa,GAAG,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAC;QACpD,MAAM;YACL,KAAK,EAAE,yBAAyB;YAChC,OAAO,EAAE,aAAa;YACtB,MAAM,EAAE,gBAAgB,CAAC,MAAM;YAC/B,QAAQ,EAAE,2BAA2B;SACf,CAAC;IACzB,CAAC;IAED,MAAM,QAAQ,GAAG,CAAC,MAAM,gBAAgB,CAAC,IAAI,EAAE,CAAkB,CAAC;IAElE,OAAO;QACN,IAAI,EAAE,QAAQ;QACd,YAAY,EAAE,MAAM,CAAC,YAAY;QACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;QACzB,aAAa,EAAE,MAAM,CAAC,aAAa;KACnC,CAAC;AACH,CAAC"}
|
package/package.json
CHANGED