@sigma-auth/better-auth-plugin 0.0.6 → 0.0.8

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 CHANGED
@@ -19,9 +19,23 @@ This package provides multiple entry points for different use cases:
19
19
  - **`/next`** - Next.js API route handlers
20
20
  - **`/provider`** - Better Auth server plugin for OIDC provider
21
21
 
22
- ## Architecture: Fronting Better Auth
22
+ ## Architecture
23
23
 
24
- This plugin intentionally fronts Better Auth's OIDC authorize endpoint to ensure wallet access is a prerequisite to authentication.
24
+ ### OAuth Flow (Cross-Domain)
25
+
26
+ When your app authenticates with Sigma Identity (or another Better Auth server on a different domain), you use OAuth/OIDC flow with tokens:
27
+
28
+ 1. User clicks sign in → redirects to `auth.sigmaidentity.com`
29
+ 2. User authenticates with Bitcoin wallet
30
+ 3. Redirects back to your app with authorization code
31
+ 4. Your backend exchanges code for access tokens
32
+ 5. **Store user data and tokens locally** (Context, Zustand, localStorage, etc.)
33
+
34
+ **Important:** Cross-domain cookies don't work due to browser security. Better Auth's `useSession` hook only works when the auth server is on the **same domain** as your app. For OAuth clients, you manage authentication state locally with tokens.
35
+
36
+ ### Wallet Unlock Gate
37
+
38
+ This plugin fronts Better Auth's OIDC authorize endpoint to ensure wallet access is a prerequisite to authentication.
25
39
 
26
40
  The client redirects to `/oauth2/authorize` (custom gate) instead of `/api/auth/oauth2/authorize` (Better Auth directly). The gate checks:
27
41
 
@@ -32,38 +46,193 @@ The client redirects to `/oauth2/authorize` (custom gate) instead of `/api/auth/
32
46
 
33
47
  This makes Bitcoin identity the foundation of authentication.
34
48
 
35
- ## Quick Start (Next.js Client App)
49
+ ## Quick Start (OAuth Client)
36
50
 
37
- ### 1. Create Auth Client
51
+ This is the standard setup for apps authenticating with Sigma Identity.
52
+
53
+ ### 1. Environment Variables
54
+
55
+ ```bash
56
+ # Your registered OAuth client ID
57
+ NEXT_PUBLIC_SIGMA_CLIENT_ID=your-app
58
+
59
+ # Member private key for signing token exchange requests (server-side only)
60
+ SIGMA_MEMBER_PRIVATE_KEY=your-member-wif
61
+
62
+ # Sigma Auth server URL
63
+ NEXT_PUBLIC_SIGMA_AUTH_URL=https://auth.sigmaidentity.com
64
+ ```
65
+
66
+ ### 2. Create Auth Client
38
67
 
39
68
  ```typescript
69
+ // lib/auth.ts
40
70
  import { createAuthClient } from "better-auth/client";
41
71
  import { sigmaClient } from "@sigma-auth/better-auth-plugin/client";
42
72
 
43
73
  export const authClient = createAuthClient({
44
- baseURL: "https://auth.sigmaidentity.com",
74
+ baseURL: process.env.NEXT_PUBLIC_SIGMA_AUTH_URL || "https://auth.sigmaidentity.com",
45
75
  plugins: [sigmaClient()],
46
76
  });
47
- ```
48
-
49
- ### 2. Sign In
50
77
 
51
- ```typescript
52
- authClient.signIn.sigma({
53
- clientId: "your-app",
54
- callbackURL: "/callback",
55
- });
78
+ // Export sign in method for OAuth flow
79
+ export const signIn = authClient.signIn;
56
80
  ```
57
81
 
58
- ### 3. Handle Callback
82
+ ### 3. Token Exchange API Route
83
+
84
+ This server-side endpoint exchanges the OAuth code for tokens.
59
85
 
60
86
  ```typescript
87
+ // app/api/auth/callback/route.ts
61
88
  import { createCallbackHandler } from "@sigma-auth/better-auth-plugin/next";
62
89
 
63
90
  export const runtime = "nodejs";
64
91
  export const POST = createCallbackHandler();
65
92
  ```
66
93
 
94
+ ### 4. OAuth Callback Page
95
+
96
+ This page handles the OAuth redirect and stores the authenticated user.
97
+
98
+ ```typescript
99
+ // app/callback/page.tsx
100
+ "use client";
101
+
102
+ import { Suspense, useEffect, useState } from "react";
103
+ import { useRouter, useSearchParams } from "next/navigation";
104
+ import { authClient } from "@/lib/auth";
105
+
106
+ function CallbackContent() {
107
+ const router = useRouter();
108
+ const searchParams = useSearchParams();
109
+ const [error, setError] = useState<string | null>(null);
110
+
111
+ useEffect(() => {
112
+ const handleCallback = async () => {
113
+ try {
114
+ // Exchange code for tokens and get user data
115
+ const result = await authClient.sigma.handleCallback(searchParams);
116
+
117
+ // Store user data in your app's state management
118
+ // Example: Context, Zustand, localStorage, etc.
119
+ localStorage.setItem("sigma_user", JSON.stringify(result.user));
120
+ localStorage.setItem("sigma_access_token", result.access_token);
121
+ localStorage.setItem("sigma_id_token", result.id_token);
122
+ if (result.refresh_token) {
123
+ localStorage.setItem("sigma_refresh_token", result.refresh_token);
124
+ }
125
+
126
+ // Redirect to your app
127
+ router.push("/");
128
+ } catch (err: any) {
129
+ console.error("OAuth callback error:", err);
130
+ setError(err.message || "Authentication failed");
131
+ }
132
+ };
133
+
134
+ handleCallback();
135
+ }, [searchParams, router]);
136
+
137
+ if (error) {
138
+ return (
139
+ <div className="flex min-h-screen items-center justify-center">
140
+ <div className="text-center">
141
+ <h2 className="text-xl font-semibold text-red-600">Authentication Failed</h2>
142
+ <p className="mt-2 text-sm text-gray-600">{error}</p>
143
+ <button
144
+ onClick={() => router.push("/")}
145
+ className="mt-4 px-4 py-2 bg-blue-600 text-white rounded"
146
+ >
147
+ Return Home
148
+ </button>
149
+ </div>
150
+ </div>
151
+ );
152
+ }
153
+
154
+ return (
155
+ <div className="flex min-h-screen items-center justify-center">
156
+ <div className="text-center">
157
+ <h2 className="text-xl font-semibold">Completing sign in...</h2>
158
+ <p className="mt-2 text-sm text-gray-600">Please wait</p>
159
+ </div>
160
+ </div>
161
+ );
162
+ }
163
+
164
+ export default function CallbackPage() {
165
+ return (
166
+ <Suspense fallback={<div>Loading...</div>}>
167
+ <CallbackContent />
168
+ </Suspense>
169
+ );
170
+ }
171
+ ```
172
+
173
+ ### 5. Sign In
174
+
175
+ ```typescript
176
+ // In your sign-in button component
177
+ import { signIn } from "@/lib/auth";
178
+
179
+ const handleSignIn = () => {
180
+ signIn.sigma({
181
+ clientId: process.env.NEXT_PUBLIC_SIGMA_CLIENT_ID || "your-app",
182
+ callbackURL: "/callback",
183
+ });
184
+ };
185
+ ```
186
+
187
+ ### 6. Access User Data
188
+
189
+ Since you're managing state locally, access user data from your state management solution:
190
+
191
+ ```typescript
192
+ // Example with Context
193
+ import { createContext, useContext, useEffect, useState } from "react";
194
+
195
+ const AuthContext = createContext<{ user: SigmaUserInfo | null }>({ user: null });
196
+
197
+ export function AuthProvider({ children }) {
198
+ const [user, setUser] = useState<SigmaUserInfo | null>(null);
199
+
200
+ useEffect(() => {
201
+ const storedUser = localStorage.getItem("sigma_user");
202
+ if (storedUser) {
203
+ setUser(JSON.parse(storedUser));
204
+ }
205
+ }, []);
206
+
207
+ return <AuthContext.Provider value={{ user }}>{children}</AuthContext.Provider>;
208
+ }
209
+
210
+ export const useAuth = () => useContext(AuthContext);
211
+
212
+ // In components
213
+ const { user } = useAuth();
214
+ const isAdmin = user?.bap?.idKey === process.env.ADMIN_BAP_ID;
215
+ ```
216
+
217
+ ## Alternative: Same-Domain Setup
218
+
219
+ If you run your own Better Auth server on the **same domain** as your app, you can use session cookies and the `useSession` hook:
220
+
221
+ ```typescript
222
+ // lib/auth.ts
223
+ export const authClient = createAuthClient({
224
+ baseURL: "/api/auth", // Same domain
225
+ plugins: [sigmaClient()],
226
+ });
227
+
228
+ export const { useSession } = authClient;
229
+
230
+ // In components
231
+ const { data: session } = useSession();
232
+ ```
233
+
234
+ This requires setting up Better Auth server with the Sigma provider plugin on your domain.
235
+
67
236
  ## Server Plugin (Auth Provider)
68
237
 
69
238
  For building your own Sigma Identity server:
@@ -86,6 +255,45 @@ export const auth = betterAuth({
86
255
  });
87
256
  ```
88
257
 
258
+ ## Key Concepts
259
+
260
+ ### OAuth Endpoints
261
+
262
+ When using OAuth flow, there are **two different endpoints**:
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
266
+
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
+
269
+ ### Authentication Result
270
+
271
+ After successful authentication via `handleCallback()`, you receive:
272
+
273
+ ```typescript
274
+ {
275
+ user: {
276
+ sub: string; // User ID
277
+ name?: string; // Display name
278
+ email?: string; // Email (if available)
279
+ picture?: string; // Avatar URL
280
+ pubkey: string; // Bitcoin public key
281
+ bap?: { // BAP identity (if available)
282
+ idKey: string; // BAP ID
283
+ identity: {
284
+ name?: string;
285
+ alternateName?: string;
286
+ description?: string;
287
+ // ... other BAP profile fields
288
+ };
289
+ };
290
+ };
291
+ access_token: string; // Access token for API calls
292
+ id_token: string; // JWT ID token (OIDC)
293
+ refresh_token?: string; // Refresh token (if issued)
294
+ }
295
+ ```
296
+
89
297
  ## Features
90
298
 
91
299
  - PKCE flow for public clients
@@ -94,15 +302,7 @@ export const auth = betterAuth({
94
302
  - Multi-identity wallet support
95
303
  - Subscription tier verification via NFT ownership
96
304
  - Type-safe with full TypeScript support
97
-
98
- ## Environment Variables
99
-
100
- ```bash
101
- # Client App
102
- NEXT_PUBLIC_SIGMA_CLIENT_ID=your-app
103
- SIGMA_MEMBER_PRIVATE_KEY=your-member-wif
104
- NEXT_PUBLIC_SIGMA_AUTH_URL=https://auth.sigmaidentity.com
105
- ```
305
+ - Full OIDC compliance with ID tokens
106
306
 
107
307
  ## Documentation
108
308
 
@@ -75,6 +75,62 @@ export declare const sigmaClient: () => {
75
75
  * @throws OAuthCallbackError if callback fails
76
76
  */
77
77
  handleCallback: (searchParams: URLSearchParams) => Promise<OAuthCallbackResult>;
78
+ /**
79
+ * Sign a request using the Sigma iframe signer
80
+ * Keys stay in Sigma's domain - only the signature is returned
81
+ *
82
+ * @param requestPath - The API path being signed (e.g., "/api/droplits")
83
+ * @param body - Optional request body (string or object)
84
+ * @param signatureType - Signature type: 'bsm' or 'brc77' (default: 'brc77')
85
+ * @returns Promise resolving to auth token string
86
+ * @throws Error if no identity set or signing fails
87
+ *
88
+ * @example
89
+ * ```typescript
90
+ * const authToken = await authClient.sigma.sign("/api/droplits", { name: "test" });
91
+ * fetch("/api/droplits", {
92
+ * headers: { "X-Auth-Token": authToken }
93
+ * });
94
+ * ```
95
+ */
96
+ sign: (requestPath: string, body?: string | object, signatureType?: "bsm" | "brc77") => Promise<string>;
97
+ /**
98
+ * Sign OP_RETURN data with AIP for Bitcoin transactions
99
+ * Keys stay in Sigma's domain - only the signed ops are returned
100
+ *
101
+ * @param hexArray - Array of hex strings to sign
102
+ * @returns Promise resolving to array of signed hex strings
103
+ * @throws Error if no identity set or signing fails
104
+ *
105
+ * @example
106
+ * ```typescript
107
+ * const signedOps = await authClient.sigma.signAIP(["6a", "..."]);
108
+ * ```
109
+ */
110
+ signAIP: (hexArray: string[]) => Promise<string[]>;
111
+ /**
112
+ * Get the current identity (BAP ID) being used for signing
113
+ * @returns The current bapId or null if not set
114
+ */
115
+ getIdentity: () => string | null;
116
+ /**
117
+ * Set the identity (BAP ID) to use for signing
118
+ * This is typically set automatically from OAuth callback,
119
+ * but can be set manually for multi-identity scenarios
120
+ *
121
+ * @param bapId - The BAP identity ID to use
122
+ */
123
+ setIdentity: (bapId: string) => void;
124
+ /**
125
+ * Clear the stored identity and destroy the signer
126
+ * Call this on logout
127
+ */
128
+ clearIdentity: () => void;
129
+ /**
130
+ * Check if the signer is ready for signing
131
+ * @returns true if identity is set and signer is initialized
132
+ */
133
+ isReady: () => boolean;
78
134
  };
79
135
  };
80
136
  };
@@ -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,EAEX,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,mBAAmB,CAAC;AAG3B,YAAY,EACX,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,mBAAmB,CAAC;AAE3B;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,eAAO,MAAM,WAAW;;;;6BAOE,OAAO,CAAC,kBAAkB,CAAC;;;8BAiBrC,kBAAkB,iBACb,iBAAiB;;;YA0EjC;;;;;;;eAOG;2CAEY,eAAe,KAC3B,OAAO,CAAC,mBAAmB,CAAC;;;CAuJnC,CAAC"}
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,EAEX,mBAAmB,EACnB,kBAAkB,EAClB,MAAM,mBAAmB,CAAC;AAI3B,YAAY,EACX,kBAAkB,EAClB,mBAAmB,EACnB,kBAAkB,GAClB,MAAM,mBAAmB,CAAC;AAiD3B;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,eAAe,CAAC,EAAE,OAAO,CAAC;CAC1B;AAsBD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA0CG;AACH,eAAO,MAAM,WAAW;;;;6BAOE,OAAO,CAAC,kBAAkB,CAAC;;;8BAiBrC,kBAAkB,iBACb,iBAAiB;;;YA0EjC;;;;;;;eAOG;2CAEY,eAAe,KAC3B,OAAO,CAAC,mBAAmB,CAAC;YA8J/B;;;;;;;;;;;;;;;;;eAiBG;gCAEW,MAAM,SACZ,MAAM,GAAG,MAAM,kBACP,KAAK,GAAG,OAAO,KAC5B,OAAO,CAAC,MAAM,CAAC;YAmBlB;;;;;;;;;;;;eAYG;gCACuB,MAAM,EAAE,KAAG,OAAO,CAAC,MAAM,EAAE,CAAC;YActD;;;eAGG;+BACc,MAAM,GAAG,IAAI;YAI9B;;;;;;eAMG;iCACkB,MAAM,KAAG,IAAI;YAWlC;;;eAGG;iCACgB,IAAI;YAWvB;;;eAGG;2BACU,OAAO;;;CAQxB,CAAC"}
@@ -1,3 +1,45 @@
1
+ import { SigmaIframeSigner } from "./signer.js";
2
+ // Module-level state for signer (singleton per page)
3
+ let signer = null;
4
+ let storedBapId = null;
5
+ // Storage key for persisting bapId
6
+ const BAP_ID_STORAGE_KEY = "sigma_bap_id";
7
+ /**
8
+ * Get the Sigma auth URL from environment or default
9
+ */
10
+ const getSigmaUrl = () => {
11
+ if (typeof process !== "undefined" &&
12
+ process.env.NEXT_PUBLIC_SIGMA_AUTH_URL) {
13
+ return process.env.NEXT_PUBLIC_SIGMA_AUTH_URL;
14
+ }
15
+ return "https://auth.sigmaidentity.com";
16
+ };
17
+ /**
18
+ * Initialize or get the signer instance (lazy singleton)
19
+ */
20
+ const getOrCreateSigner = async () => {
21
+ if (!signer) {
22
+ signer = new SigmaIframeSigner(getSigmaUrl());
23
+ }
24
+ if (!signer.isReady()) {
25
+ await signer.init();
26
+ }
27
+ return signer;
28
+ };
29
+ /**
30
+ * Load bapId from storage on init
31
+ */
32
+ const loadStoredBapId = () => {
33
+ if (typeof window === "undefined")
34
+ return null;
35
+ if (storedBapId)
36
+ return storedBapId;
37
+ const stored = localStorage.getItem(BAP_ID_STORAGE_KEY);
38
+ if (stored) {
39
+ storedBapId = stored;
40
+ }
41
+ return storedBapId;
42
+ };
1
43
  // PKCE helper functions
2
44
  const generateCodeVerifier = () => {
3
45
  const array = new Uint8Array(32);
@@ -239,6 +281,14 @@ export const sigmaClient = () => {
239
281
  };
240
282
  }
241
283
  const data = (await response.json());
284
+ // Store bapId from user data for signing (from bap_id claim)
285
+ const bapId = data.user?.bap_id;
286
+ if (bapId) {
287
+ storedBapId = bapId;
288
+ if (typeof window !== "undefined") {
289
+ localStorage.setItem(BAP_ID_STORAGE_KEY, bapId);
290
+ }
291
+ }
242
292
  return {
243
293
  user: data.user,
244
294
  access_token: data.access_token,
@@ -263,6 +313,104 @@ export const sigmaClient = () => {
263
313
  };
264
314
  }
265
315
  },
316
+ /**
317
+ * Sign a request using the Sigma iframe signer
318
+ * Keys stay in Sigma's domain - only the signature is returned
319
+ *
320
+ * @param requestPath - The API path being signed (e.g., "/api/droplits")
321
+ * @param body - Optional request body (string or object)
322
+ * @param signatureType - Signature type: 'bsm' or 'brc77' (default: 'brc77')
323
+ * @returns Promise resolving to auth token string
324
+ * @throws Error if no identity set or signing fails
325
+ *
326
+ * @example
327
+ * ```typescript
328
+ * const authToken = await authClient.sigma.sign("/api/droplits", { name: "test" });
329
+ * fetch("/api/droplits", {
330
+ * headers: { "X-Auth-Token": authToken }
331
+ * });
332
+ * ```
333
+ */
334
+ sign: async (requestPath, body, signatureType = "brc77") => {
335
+ // Ensure we have a bapId (from callback or storage)
336
+ const bapId = storedBapId || loadStoredBapId();
337
+ if (!bapId) {
338
+ throw new Error("No identity set. Complete OAuth login first or call setIdentity().");
339
+ }
340
+ const signerInstance = await getOrCreateSigner();
341
+ signerInstance.setIdentity(bapId);
342
+ // Serialize body if object
343
+ const bodyString = body && typeof body === "object" ? JSON.stringify(body) : body;
344
+ return signerInstance.sign(requestPath, bodyString, signatureType);
345
+ },
346
+ /**
347
+ * Sign OP_RETURN data with AIP for Bitcoin transactions
348
+ * Keys stay in Sigma's domain - only the signed ops are returned
349
+ *
350
+ * @param hexArray - Array of hex strings to sign
351
+ * @returns Promise resolving to array of signed hex strings
352
+ * @throws Error if no identity set or signing fails
353
+ *
354
+ * @example
355
+ * ```typescript
356
+ * const signedOps = await authClient.sigma.signAIP(["6a", "..."]);
357
+ * ```
358
+ */
359
+ signAIP: async (hexArray) => {
360
+ const bapId = storedBapId || loadStoredBapId();
361
+ if (!bapId) {
362
+ throw new Error("No identity set. Complete OAuth login first or call setIdentity().");
363
+ }
364
+ const signerInstance = await getOrCreateSigner();
365
+ signerInstance.setIdentity(bapId);
366
+ return signerInstance.signAIP(hexArray);
367
+ },
368
+ /**
369
+ * Get the current identity (BAP ID) being used for signing
370
+ * @returns The current bapId or null if not set
371
+ */
372
+ getIdentity: () => {
373
+ return storedBapId || loadStoredBapId();
374
+ },
375
+ /**
376
+ * Set the identity (BAP ID) to use for signing
377
+ * This is typically set automatically from OAuth callback,
378
+ * but can be set manually for multi-identity scenarios
379
+ *
380
+ * @param bapId - The BAP identity ID to use
381
+ */
382
+ setIdentity: (bapId) => {
383
+ storedBapId = bapId;
384
+ if (typeof window !== "undefined") {
385
+ localStorage.setItem(BAP_ID_STORAGE_KEY, bapId);
386
+ }
387
+ // If signer already exists, update it
388
+ if (signer) {
389
+ signer.setIdentity(bapId);
390
+ }
391
+ },
392
+ /**
393
+ * Clear the stored identity and destroy the signer
394
+ * Call this on logout
395
+ */
396
+ clearIdentity: () => {
397
+ storedBapId = null;
398
+ if (typeof window !== "undefined") {
399
+ localStorage.removeItem(BAP_ID_STORAGE_KEY);
400
+ }
401
+ if (signer) {
402
+ signer.destroy();
403
+ signer = null;
404
+ }
405
+ },
406
+ /**
407
+ * Check if the signer is ready for signing
408
+ * @returns true if identity is set and signer is initialized
409
+ */
410
+ isReady: () => {
411
+ const bapId = storedBapId || loadStoredBapId();
412
+ return !!bapId;
413
+ },
266
414
  },
267
415
  };
268
416
  },
@@ -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":"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"}
@@ -0,0 +1,57 @@
1
+ /**
2
+ * Sigma Iframe Signer
3
+ *
4
+ * Provides seamless client-side signing via embedded Sigma iframe.
5
+ * Keys stay in auth.sigmaidentity.com - never exposed to client apps.
6
+ *
7
+ * Protocol:
8
+ * - Parent → Iframe: SET_IDENTITY, SIGN_REQUEST, SIGN_AIP_REQUEST
9
+ * - Iframe → Parent: WALLET_LOCKED, WALLET_UNLOCKED, SIGN_RESPONSE, SIGN_AIP_RESPONSE, SIGNER_ERROR
10
+ */
11
+ export declare class SigmaIframeSigner {
12
+ private iframe;
13
+ private pendingRequests;
14
+ private pendingAIPRequests;
15
+ private initialized;
16
+ private boundMessageHandler;
17
+ private currentBapId;
18
+ private sigmaUrl;
19
+ constructor(sigmaUrl: string);
20
+ /**
21
+ * Initialize the Sigma signer iframe (lazy - called on first sign request)
22
+ */
23
+ init(): Promise<void>;
24
+ /**
25
+ * Set the identity for signing
26
+ */
27
+ setIdentity(bapId: string): void;
28
+ /**
29
+ * Sign a request
30
+ */
31
+ sign(requestPath: string, body?: string, signatureType?: "bsm" | "brc77"): Promise<string>;
32
+ /**
33
+ * Sign OP_RETURN data with AIP
34
+ */
35
+ signAIP(hexArray: string[]): Promise<string[]>;
36
+ /**
37
+ * Handle messages from Sigma iframe
38
+ */
39
+ private handleMessage;
40
+ /**
41
+ * Reject all pending requests
42
+ */
43
+ private rejectAllPending;
44
+ /**
45
+ * Check if signer is ready
46
+ */
47
+ isReady(): boolean;
48
+ /**
49
+ * Get current identity
50
+ */
51
+ getIdentity(): string | null;
52
+ /**
53
+ * Cleanup
54
+ */
55
+ destroy(): void;
56
+ }
57
+ //# sourceMappingURL=signer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.d.ts","sourceRoot":"","sources":["../../src/client/signer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkCH,qBAAa,iBAAiB;IAC7B,OAAO,CAAC,MAAM,CAAkC;IAChD,OAAO,CAAC,eAAe,CAAkD;IACzE,OAAO,CAAC,kBAAkB,CAAoD;IAC9E,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,mBAAmB,CAAgD;IAC3E,OAAO,CAAC,YAAY,CAAuB;IAC3C,OAAO,CAAC,QAAQ,CAAS;gBAEb,QAAQ,EAAE,MAAM;IAI5B;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IA8C3B;;OAEG;IACH,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;IAWhC;;OAEG;IACG,IAAI,CACT,WAAW,EAAE,MAAM,EACnB,IAAI,CAAC,EAAE,MAAM,EACb,aAAa,GAAE,KAAK,GAAG,OAAiB,GACtC,OAAO,CAAC,MAAM,CAAC;IAgDlB;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,OAAO,CAAC,MAAM,EAAE,CAAC;IA0CpD;;OAEG;IACH,OAAO,CAAC,aAAa;IAuErB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACH,OAAO,IAAI,OAAO;IAIlB;;OAEG;IACH,WAAW,IAAI,MAAM,GAAG,IAAI;IAI5B;;OAEG;IACH,OAAO,IAAI,IAAI;CAYf"}
@@ -0,0 +1,247 @@
1
+ /**
2
+ * Sigma Iframe Signer
3
+ *
4
+ * Provides seamless client-side signing via embedded Sigma iframe.
5
+ * Keys stay in auth.sigmaidentity.com - never exposed to client apps.
6
+ *
7
+ * Protocol:
8
+ * - Parent → Iframe: SET_IDENTITY, SIGN_REQUEST, SIGN_AIP_REQUEST
9
+ * - Iframe → Parent: WALLET_LOCKED, WALLET_UNLOCKED, SIGN_RESPONSE, SIGN_AIP_RESPONSE, SIGNER_ERROR
10
+ */
11
+ export class SigmaIframeSigner {
12
+ iframe = null;
13
+ pendingRequests = new Map();
14
+ pendingAIPRequests = new Map();
15
+ initialized = false;
16
+ boundMessageHandler = null;
17
+ currentBapId = null;
18
+ sigmaUrl;
19
+ constructor(sigmaUrl) {
20
+ this.sigmaUrl = sigmaUrl;
21
+ }
22
+ /**
23
+ * Initialize the Sigma signer iframe (lazy - called on first sign request)
24
+ */
25
+ async init() {
26
+ if (typeof window === "undefined") {
27
+ throw new Error("SigmaIframeSigner can only be used in browser");
28
+ }
29
+ if (this.initialized)
30
+ return;
31
+ // Create hidden iframe for Sigma signer
32
+ this.iframe = document.createElement("iframe");
33
+ this.iframe.src = `${this.sigmaUrl}/signer`;
34
+ this.iframe.style.cssText = `
35
+ position: fixed;
36
+ inset: 0;
37
+ width: 100vw;
38
+ height: 100vh;
39
+ border: none;
40
+ background: transparent;
41
+ z-index: 10000;
42
+ display: none;
43
+ pointer-events: auto;
44
+ `;
45
+ document.body.appendChild(this.iframe);
46
+ // Set up message listener
47
+ this.boundMessageHandler = this.handleMessage.bind(this);
48
+ window.addEventListener("message", this.boundMessageHandler);
49
+ // Wait for iframe to load
50
+ const iframe = this.iframe;
51
+ await new Promise((resolve, reject) => {
52
+ const timeout = setTimeout(() => reject(new Error("Sigma iframe load timeout")), 10000);
53
+ iframe.addEventListener("load", () => {
54
+ clearTimeout(timeout);
55
+ this.initialized = true;
56
+ resolve();
57
+ });
58
+ iframe.addEventListener("error", () => {
59
+ clearTimeout(timeout);
60
+ reject(new Error("Failed to load Sigma iframe"));
61
+ });
62
+ });
63
+ }
64
+ /**
65
+ * Set the identity for signing
66
+ */
67
+ setIdentity(bapId) {
68
+ this.currentBapId = bapId;
69
+ if (this.initialized && this.iframe?.contentWindow) {
70
+ this.iframe.contentWindow.postMessage({ type: "SET_IDENTITY", payload: { bapId } }, this.sigmaUrl);
71
+ }
72
+ }
73
+ /**
74
+ * Sign a request
75
+ */
76
+ async sign(requestPath, body, signatureType = "brc77") {
77
+ if (!this.initialized) {
78
+ await this.init();
79
+ }
80
+ if (!this.currentBapId) {
81
+ throw new Error("No identity set. Call setIdentity() first.");
82
+ }
83
+ const contentWindow = this.iframe?.contentWindow;
84
+ if (!contentWindow) {
85
+ throw new Error("Sigma iframe not accessible");
86
+ }
87
+ // Ensure identity is set
88
+ contentWindow.postMessage({ type: "SET_IDENTITY", payload: { bapId: this.currentBapId } }, this.sigmaUrl);
89
+ const requestId = `req_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
90
+ const request = {
91
+ requestId,
92
+ requestPath,
93
+ signatureType,
94
+ };
95
+ if (body) {
96
+ request.body = body;
97
+ request.bodyEncoding = "utf8";
98
+ }
99
+ return new Promise((resolve, reject) => {
100
+ const timeout = setTimeout(() => {
101
+ this.pendingRequests.delete(requestId);
102
+ reject(new Error("Signature request timeout"));
103
+ }, 30000);
104
+ this.pendingRequests.set(requestId, { resolve, reject, timeout });
105
+ contentWindow.postMessage({ type: "SIGN_REQUEST", payload: request }, this.sigmaUrl);
106
+ });
107
+ }
108
+ /**
109
+ * Sign OP_RETURN data with AIP
110
+ */
111
+ async signAIP(hexArray) {
112
+ if (!this.initialized) {
113
+ await this.init();
114
+ }
115
+ if (!this.currentBapId) {
116
+ throw new Error("No identity set. Call setIdentity() first.");
117
+ }
118
+ const contentWindow = this.iframe?.contentWindow;
119
+ if (!contentWindow) {
120
+ throw new Error("Sigma iframe not accessible");
121
+ }
122
+ // Ensure identity is set
123
+ contentWindow.postMessage({ type: "SET_IDENTITY", payload: { bapId: this.currentBapId } }, this.sigmaUrl);
124
+ const requestId = `aip_${Date.now()}_${Math.random().toString(36).substring(2, 9)}`;
125
+ const request = {
126
+ requestId,
127
+ hexArray,
128
+ };
129
+ return new Promise((resolve, reject) => {
130
+ const timeout = setTimeout(() => {
131
+ this.pendingAIPRequests.delete(requestId);
132
+ reject(new Error("AIP signature request timeout"));
133
+ }, 30000);
134
+ this.pendingAIPRequests.set(requestId, { resolve, reject, timeout });
135
+ contentWindow.postMessage({ type: "SIGN_AIP_REQUEST", payload: request }, this.sigmaUrl);
136
+ });
137
+ }
138
+ /**
139
+ * Handle messages from Sigma iframe
140
+ */
141
+ handleMessage(event) {
142
+ // Verify origin
143
+ if (event.origin !== this.sigmaUrl) {
144
+ return;
145
+ }
146
+ const { type, payload } = event.data || {};
147
+ switch (type) {
148
+ case "WALLET_LOCKED":
149
+ // Show iframe for password entry
150
+ if (this.iframe) {
151
+ this.iframe.style.display = "block";
152
+ }
153
+ break;
154
+ case "WALLET_UNLOCKED":
155
+ // Hide iframe
156
+ if (this.iframe) {
157
+ this.iframe.style.display = "none";
158
+ }
159
+ break;
160
+ case "SIGNER_ERROR": {
161
+ // Hide iframe and reject all pending requests
162
+ if (this.iframe) {
163
+ this.iframe.style.display = "none";
164
+ }
165
+ const errorMsg = event.data.error || "Signer error";
166
+ this.rejectAllPending(new Error(`Signer error: ${errorMsg}. Please sign in to Sigma Identity.`));
167
+ break;
168
+ }
169
+ case "SIGN_RESPONSE": {
170
+ const response = payload;
171
+ const pending = this.pendingRequests.get(response.requestId);
172
+ if (pending) {
173
+ clearTimeout(pending.timeout);
174
+ this.pendingRequests.delete(response.requestId);
175
+ if (response.error) {
176
+ pending.reject(new Error(response.error));
177
+ }
178
+ else {
179
+ pending.resolve(response.authToken);
180
+ }
181
+ }
182
+ break;
183
+ }
184
+ case "SIGN_AIP_RESPONSE": {
185
+ const response = payload;
186
+ const pending = this.pendingAIPRequests.get(response.requestId);
187
+ if (pending) {
188
+ clearTimeout(pending.timeout);
189
+ this.pendingAIPRequests.delete(response.requestId);
190
+ if (response.error) {
191
+ pending.reject(new Error(response.error));
192
+ }
193
+ else if (response.signedOps) {
194
+ pending.resolve(response.signedOps);
195
+ }
196
+ else {
197
+ pending.reject(new Error("No signed ops returned"));
198
+ }
199
+ }
200
+ break;
201
+ }
202
+ }
203
+ }
204
+ /**
205
+ * Reject all pending requests
206
+ */
207
+ rejectAllPending(error) {
208
+ for (const [, pending] of this.pendingRequests) {
209
+ clearTimeout(pending.timeout);
210
+ pending.reject(error);
211
+ }
212
+ this.pendingRequests.clear();
213
+ for (const [, pending] of this.pendingAIPRequests) {
214
+ clearTimeout(pending.timeout);
215
+ pending.reject(error);
216
+ }
217
+ this.pendingAIPRequests.clear();
218
+ }
219
+ /**
220
+ * Check if signer is ready
221
+ */
222
+ isReady() {
223
+ return this.initialized && this.iframe !== null;
224
+ }
225
+ /**
226
+ * Get current identity
227
+ */
228
+ getIdentity() {
229
+ return this.currentBapId;
230
+ }
231
+ /**
232
+ * Cleanup
233
+ */
234
+ destroy() {
235
+ if (this.iframe) {
236
+ document.body.removeChild(this.iframe);
237
+ this.iframe = null;
238
+ }
239
+ if (this.boundMessageHandler) {
240
+ window.removeEventListener("message", this.boundMessageHandler);
241
+ this.boundMessageHandler = null;
242
+ }
243
+ this.initialized = false;
244
+ this.rejectAllPending(new Error("Signer destroyed"));
245
+ }
246
+ }
247
+ //# sourceMappingURL=signer.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"signer.js","sourceRoot":"","sources":["../../src/client/signer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAkCH,MAAM,OAAO,iBAAiB;IACrB,MAAM,GAA6B,IAAI,CAAC;IACxC,eAAe,GAAwC,IAAI,GAAG,EAAE,CAAC;IACjE,kBAAkB,GAA0C,IAAI,GAAG,EAAE,CAAC;IACtE,WAAW,GAAG,KAAK,CAAC;IACpB,mBAAmB,GAA2C,IAAI,CAAC;IACnE,YAAY,GAAkB,IAAI,CAAC;IACnC,QAAQ,CAAS;IAEzB,YAAY,QAAgB;QAC3B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI;QACT,IAAI,OAAO,MAAM,KAAK,WAAW,EAAE,CAAC;YACnC,MAAM,IAAI,KAAK,CAAC,+CAA+C,CAAC,CAAC;QAClE,CAAC;QAED,IAAI,IAAI,CAAC,WAAW;YAAE,OAAO;QAE7B,wCAAwC;QACxC,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAC/C,IAAI,CAAC,MAAM,CAAC,GAAG,GAAG,GAAG,IAAI,CAAC,QAAQ,SAAS,CAAC;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG;;;;;;;;;;GAU3B,CAAC;QACF,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAEvC,0BAA0B;QAC1B,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QACzD,MAAM,CAAC,gBAAgB,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;QAE7D,0BAA0B;QAC1B,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC;QAC3B,MAAM,IAAI,OAAO,CAAO,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC3C,MAAM,OAAO,GAAG,UAAU,CACzB,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,EACpD,KAAK,CACL,CAAC;YACF,MAAM,CAAC,gBAAgB,CAAC,MAAM,EAAE,GAAG,EAAE;gBACpC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC;gBACxB,OAAO,EAAE,CAAC;YACX,CAAC,CAAC,CAAC;YACH,MAAM,CAAC,gBAAgB,CAAC,OAAO,EAAE,GAAG,EAAE;gBACrC,YAAY,CAAC,OAAO,CAAC,CAAC;gBACtB,MAAM,CAAC,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC,CAAC;YAClD,CAAC,CAAC,CAAC;QACJ,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,WAAW,CAAC,KAAa;QACxB,IAAI,CAAC,YAAY,GAAG,KAAK,CAAC;QAE1B,IAAI,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,EAAE,aAAa,EAAE,CAAC;YACpD,IAAI,CAAC,MAAM,CAAC,aAAa,CAAC,WAAW,CACpC,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,EAC5C,IAAI,CAAC,QAAQ,CACb,CAAC;QACH,CAAC;IACF,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,IAAI,CACT,WAAmB,EACnB,IAAa,EACb,gBAAiC,OAAO;QAExC,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC;QACjD,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAChD,CAAC;QAED,yBAAyB;QACzB,aAAa,CAAC,WAAW,CACxB,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,EAC/D,IAAI,CAAC,QAAQ,CACb,CAAC;QAEF,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAEpF,MAAM,OAAO,GAAqB;YACjC,SAAS;YACT,WAAW;YACX,aAAa;SACb,CAAC;QAEF,IAAI,IAAI,EAAE,CAAC;YACV,OAAO,CAAC,IAAI,GAAG,IAAI,CAAC;YACpB,OAAO,CAAC,YAAY,GAAG,MAAM,CAAC;QAC/B,CAAC;QAED,OAAO,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAC9C,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC/B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBACvC,MAAM,CAAC,IAAI,KAAK,CAAC,2BAA2B,CAAC,CAAC,CAAC;YAChD,CAAC,EAAE,KAAK,CAAC,CAAC;YAEV,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAElE,aAAa,CAAC,WAAW,CACxB,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,OAAO,EAAE,EAC1C,IAAI,CAAC,QAAQ,CACb,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,OAAO,CAAC,QAAkB;QAC/B,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACvB,MAAM,IAAI,CAAC,IAAI,EAAE,CAAC;QACnB,CAAC;QAED,IAAI,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC;YACxB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;QAC/D,CAAC;QAED,MAAM,aAAa,GAAG,IAAI,CAAC,MAAM,EAAE,aAAa,CAAC;QACjD,IAAI,CAAC,aAAa,EAAE,CAAC;YACpB,MAAM,IAAI,KAAK,CAAC,6BAA6B,CAAC,CAAC;QAChD,CAAC;QAED,yBAAyB;QACzB,aAAa,CAAC,WAAW,CACxB,EAAE,IAAI,EAAE,cAAc,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,IAAI,CAAC,YAAY,EAAE,EAAE,EAC/D,IAAI,CAAC,QAAQ,CACb,CAAC;QAEF,MAAM,SAAS,GAAG,OAAO,IAAI,CAAC,GAAG,EAAE,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,EAAE,CAAC;QAEpF,MAAM,OAAO,GAAmB;YAC/B,SAAS;YACT,QAAQ;SACR,CAAC;QAEF,OAAO,IAAI,OAAO,CAAW,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YAChD,MAAM,OAAO,GAAG,UAAU,CAAC,GAAG,EAAE;gBAC/B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;gBAC1C,MAAM,CAAC,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC,CAAC;YACpD,CAAC,EAAE,KAAK,CAAC,CAAC;YAEV,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,SAAS,EAAE,EAAE,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;YAErE,aAAa,CAAC,WAAW,CACxB,EAAE,IAAI,EAAE,kBAAkB,EAAE,OAAO,EAAE,OAAO,EAAE,EAC9C,IAAI,CAAC,QAAQ,CACb,CAAC;QACH,CAAC,CAAC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,KAAmB;QACxC,gBAAgB;QAChB,IAAI,KAAK,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;YACpC,OAAO;QACR,CAAC;QAED,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,GAAG,KAAK,CAAC,IAAI,IAAI,EAAE,CAAC;QAE3C,QAAQ,IAAI,EAAE,CAAC;YACd,KAAK,eAAe;gBACnB,iCAAiC;gBACjC,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC;gBACrC,CAAC;gBACD,MAAM;YAEP,KAAK,iBAAiB;gBACrB,cAAc;gBACd,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBACpC,CAAC;gBACD,MAAM;YAEP,KAAK,cAAc,CAAC,CAAC,CAAC;gBACrB,8CAA8C;gBAC9C,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;oBACjB,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,GAAG,MAAM,CAAC;gBACpC,CAAC;gBACD,MAAM,QAAQ,GAAG,KAAK,CAAC,IAAI,CAAC,KAAK,IAAI,cAAc,CAAC;gBACpD,IAAI,CAAC,gBAAgB,CACpB,IAAI,KAAK,CACR,iBAAiB,QAAQ,qCAAqC,CAC9D,CACD,CAAC;gBACF,MAAM;YACP,CAAC;YAED,KAAK,eAAe,CAAC,CAAC,CAAC;gBACtB,MAAM,QAAQ,GAAG,OAA4B,CAAC;gBAC9C,MAAM,OAAO,GAAG,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAC7D,IAAI,OAAO,EAAE,CAAC;oBACb,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC9B,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBAChD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;wBACpB,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC3C,CAAC;yBAAM,CAAC;wBACP,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBACrC,CAAC;gBACF,CAAC;gBACD,MAAM;YACP,CAAC;YAED,KAAK,mBAAmB,CAAC,CAAC,CAAC;gBAC1B,MAAM,QAAQ,GAAG,OAA0B,CAAC;gBAC5C,MAAM,OAAO,GAAG,IAAI,CAAC,kBAAkB,CAAC,GAAG,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;gBAChE,IAAI,OAAO,EAAE,CAAC;oBACb,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;oBAC9B,IAAI,CAAC,kBAAkB,CAAC,MAAM,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBACnD,IAAI,QAAQ,CAAC,KAAK,EAAE,CAAC;wBACpB,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC;oBAC3C,CAAC;yBAAM,IAAI,QAAQ,CAAC,SAAS,EAAE,CAAC;wBAC/B,OAAO,CAAC,OAAO,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC;oBACrC,CAAC;yBAAM,CAAC;wBACP,OAAO,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,wBAAwB,CAAC,CAAC,CAAC;oBACrD,CAAC;gBACF,CAAC;gBACD,MAAM;YACP,CAAC;QACF,CAAC;IACF,CAAC;IAED;;OAEG;IACK,gBAAgB,CAAC,KAAY;QACpC,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,eAAe,EAAE,CAAC;YAChD,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,eAAe,CAAC,KAAK,EAAE,CAAC;QAE7B,KAAK,MAAM,CAAC,EAAE,OAAO,CAAC,IAAI,IAAI,CAAC,kBAAkB,EAAE,CAAC;YACnD,YAAY,CAAC,OAAO,CAAC,OAAO,CAAC,CAAC;YAC9B,OAAO,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;QACvB,CAAC;QACD,IAAI,CAAC,kBAAkB,CAAC,KAAK,EAAE,CAAC;IACjC,CAAC;IAED;;OAEG;IACH,OAAO;QACN,OAAO,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,WAAW;QACV,OAAO,IAAI,CAAC,YAAY,CAAC;IAC1B,CAAC;IAED;;OAEG;IACH,OAAO;QACN,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YACjB,QAAQ,CAAC,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;YACvC,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACpB,CAAC;QACD,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC9B,MAAM,CAAC,mBAAmB,CAAC,SAAS,EAAE,IAAI,CAAC,mBAAmB,CAAC,CAAC;YAChE,IAAI,CAAC,mBAAmB,GAAG,IAAI,CAAC;QACjC,CAAC;QACD,IAAI,CAAC,WAAW,GAAG,KAAK,CAAC;QACzB,IAAI,CAAC,gBAAgB,CAAC,IAAI,KAAK,CAAC,kBAAkB,CAAC,CAAC,CAAC;IACtD,CAAC;CACD"}
@@ -70,7 +70,7 @@ export function createCallbackHandler(config) {
70
70
  console.log("[Sigma OAuth Callback] Success:", {
71
71
  hasBap: !!result.user.bap,
72
72
  name: result.user.name,
73
- bapId: result.user.bap?.idKey?.substring(0, 20) || "none",
73
+ bapId: result.user.bap_id?.substring(0, 20) || "none",
74
74
  });
75
75
  return Response.json({
76
76
  user: result.user,
@@ -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":"AAAA;;;GAGG;AAEH,OAAO,EACN,qBAAqB,GAErB,MAAM,oBAAoB,CAAC;AAwB5B;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AACH,MAAM,UAAU,qBAAqB,CAAC,MAA4B;IACjE,OAAO,KAAK,EAAE,OAAoB,EAAE,EAAE;QACrC,IAAI,CAAC;YACJ,MAAM,IAAI,GAAG,CAAC,MAAM,OAAO,CAAC,IAAI,EAAE,CAGjC,CAAC;YACF,MAAM,EAAE,IAAI,EAAE,aAAa,EAAE,GAAG,IAAI,CAAC;YAErC,IAAI,CAAC,IAAI,EAAE,CAAC;gBACX,OAAO,QAAQ,CAAC,IAAI,CACnB,EAAE,KAAK,EAAE,4BAA4B,EAAE,EACvC,EAAE,MAAM,EAAE,GAAG,EAAE,CACf,CAAC;YACH,CAAC;YAED,uCAAuC;YACvC,MAAM,gBAAgB,GACrB,MAAM,EAAE,gBAAgB,IAAI,OAAO,CAAC,GAAG,CAAC,wBAAwB,CAAC;YAClE,IAAI,CAAC,gBAAgB,EAAE,CAAC;gBACvB,OAAO,CAAC,KAAK,CACZ,gEAAgE,CAChE,CAAC;gBACF,OAAO,QAAQ,CAAC,IAAI,CACnB;oBACC,KAAK,EAAE,4BAA4B;oBACnC,OAAO,EAAE,kCAAkC;iBAC3C,EACD,EAAE,MAAM,EAAE,GAAG,EAAE,CACf,CAAC;YACH,CAAC;YAED,MAAM,SAAS,GACd,MAAM,EAAE,SAAS;gBACjB,OAAO,CAAC,GAAG,CAAC,0BAA0B;gBACtC,gCAAgC,CAAC;YAElC,MAAM,QAAQ,GACb,MAAM,EAAE,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC;YAC7D,IAAI,CAAC,QAAQ,EAAE,CAAC;gBACf,OAAO,CAAC,KAAK,CACZ,mEAAmE,CACnE,CAAC;gBACF,OAAO,QAAQ,CAAC,IAAI,CACnB,EAAE,KAAK,EAAE,4BAA4B,EAAE,OAAO,EAAE,mBAAmB,EAAE,EACrE,EAAE,MAAM,EAAE,GAAG,EAAE,CACf,CAAC;YACH,CAAC;YAED,MAAM,YAAY,GAAG,MAAM,EAAE,YAAY,IAAI,WAAW,CAAC;YACzD,MAAM,WAAW,GAAG,GAAG,OAAO,CAAC,OAAO,CAAC,MAAM,GAAG,YAAY,EAAE,CAAC;YAE/D,OAAO,CAAC,GAAG,CAAC,oDAAoD,EAAE;gBACjE,SAAS;gBACT,QAAQ;gBACR,WAAW;aACX,CAAC,CAAC;YAEH,MAAM,MAAM,GAAG,MAAM,qBAAqB,CAAC;gBAC1C,IAAI;gBACJ,WAAW;gBACX,QAAQ;gBACR,gBAAgB;gBAChB,YAAY,EAAE,aAAa;gBAC3B,SAAS;aACT,CAAC,CAAC;YAEH,OAAO,CAAC,GAAG,CAAC,iCAAiC,EAAE;gBAC9C,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG;gBACzB,IAAI,EAAE,MAAM,CAAC,IAAI,CAAC,IAAI;gBACtB,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,MAAM;aACrD,CAAC,CAAC;YAEH,OAAO,QAAQ,CAAC,IAAI,CAAC;gBACpB,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,YAAY,EAAE,MAAM,CAAC,YAAY;gBACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,aAAa,EAAE,MAAM,CAAC,aAAa;aACnC,CAAC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YAChB,OAAO,CAAC,KAAK,CAAC,+BAA+B,EAAE,KAAK,CAAC,CAAC;YAEtD,qCAAqC;YACrC,IACC,KAAK;gBACL,OAAO,KAAK,KAAK,QAAQ;gBACzB,OAAO,IAAI,KAAK;gBAChB,UAAU,IAAI,KAAK,EAClB,CAAC;gBACF,MAAM,UAAU,GAAG,KAA2B,CAAC;gBAC/C,OAAO,QAAQ,CAAC,IAAI,CACnB;oBACC,KAAK,EAAE,UAAU,CAAC,KAAK;oBACvB,OAAO,EAAE,UAAU,CAAC,OAAO;oBAC3B,MAAM,EAAE,UAAU,CAAC,MAAM;oBACzB,QAAQ,EAAE,UAAU,CAAC,QAAQ;iBAC7B,EACD,EAAE,MAAM,EAAE,UAAU,CAAC,MAAM,IAAI,GAAG,EAAE,CACpC,CAAC;YACH,CAAC;YAED,OAAO,QAAQ,CAAC,IAAI,CACnB;gBACC,KAAK,EAAE,uBAAuB;gBAC9B,OAAO,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe;aACjE,EACD,EAAE,MAAM,EAAE,GAAG,EAAE,CACf,CAAC;QACH,CAAC;IACF,CAAC,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,MAAM,OAAO,GAAG,QAAQ,CAAC"}
@@ -42,7 +42,8 @@ export interface SigmaUserInfo extends Omit<User, "id"> {
42
42
  family_name?: string | null;
43
43
  picture?: string | null;
44
44
  pubkey: string;
45
- bap?: BAPProfile | null;
45
+ bap_id?: string;
46
+ bap?: BAPProfile | string | null;
46
47
  }
47
48
  /**
48
49
  * Subscription status from auth server
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,QAAQ,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACvB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;IAEtD,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGxB,MAAM,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,UAAU,GAAG,IAAI,CAAC;CACxB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,YAAY,CAAC;IACzD,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3D;;GAEG;AACH,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;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CAChB"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,aAAa,CAAC;AAExC;;;GAGG;AACH,MAAM,WAAW,UAAU;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,CAAC;IACpB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,SAAS,CAAC,EAAE,KAAK,CAAC;QAAE,OAAO,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpE,QAAQ,CAAC,EAAE;QACV,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,OAAO,CAAC,EAAE,MAAM,CAAC;QACjB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;KACvB,CAAC;IACF,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;CACvB;AAED;;;;;;;;;;GAUG;AACH,MAAM,WAAW,aAAc,SAAQ,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC;IAEtD,GAAG,EAAE,MAAM,CAAC;IACZ,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGxB,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,UAAU,GAAG,MAAM,GAAG,IAAI,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,MAAM,GAAG,MAAM,GAAG,KAAK,GAAG,SAAS,GAAG,YAAY,CAAC;IACzD,QAAQ,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,SAAS,CAAC,EAAE,IAAI,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,QAAQ,GAAG,OAAO,GAAG,SAAS,CAAC;AAE3D;;GAEG;AACH,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;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CAChB"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sigma-auth/better-auth-plugin",
3
- "version": "0.0.6",
3
+ "version": "0.0.8",
4
4
  "description": "Better Auth plugins for Sigma Identity - client, server, and provider integrations",
5
5
  "type": "module",
6
6
  "main": "./dist/types/index.js",