@originals/auth 1.8.0 → 1.8.2

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.
Files changed (54) hide show
  1. package/package.json +15 -12
  2. package/.turbo/turbo-build.log +0 -1
  3. package/dist/client/index.d.ts +0 -23
  4. package/dist/client/index.d.ts.map +0 -1
  5. package/dist/client/index.js +0 -23
  6. package/dist/client/index.js.map +0 -1
  7. package/dist/client/server-auth.d.ts +0 -61
  8. package/dist/client/server-auth.d.ts.map +0 -1
  9. package/dist/client/server-auth.js +0 -77
  10. package/dist/client/server-auth.js.map +0 -1
  11. package/dist/client/turnkey-client.d.ts +0 -59
  12. package/dist/client/turnkey-client.d.ts.map +0 -1
  13. package/dist/client/turnkey-client.js +0 -279
  14. package/dist/client/turnkey-client.js.map +0 -1
  15. package/dist/client/turnkey-did-signer.d.ts +0 -58
  16. package/dist/client/turnkey-did-signer.d.ts.map +0 -1
  17. package/dist/client/turnkey-did-signer.js +0 -131
  18. package/dist/client/turnkey-did-signer.js.map +0 -1
  19. package/dist/index.d.ts +0 -23
  20. package/dist/index.d.ts.map +0 -1
  21. package/dist/index.js +0 -27
  22. package/dist/index.js.map +0 -1
  23. package/dist/server/email-auth.d.ts +0 -42
  24. package/dist/server/email-auth.d.ts.map +0 -1
  25. package/dist/server/email-auth.js +0 -187
  26. package/dist/server/email-auth.js.map +0 -1
  27. package/dist/server/index.d.ts +0 -22
  28. package/dist/server/index.d.ts.map +0 -1
  29. package/dist/server/index.js +0 -22
  30. package/dist/server/index.js.map +0 -1
  31. package/dist/server/jwt.d.ts +0 -49
  32. package/dist/server/jwt.d.ts.map +0 -1
  33. package/dist/server/jwt.js +0 -113
  34. package/dist/server/jwt.js.map +0 -1
  35. package/dist/server/middleware.d.ts +0 -39
  36. package/dist/server/middleware.d.ts.map +0 -1
  37. package/dist/server/middleware.js +0 -112
  38. package/dist/server/middleware.js.map +0 -1
  39. package/dist/server/turnkey-client.d.ts +0 -24
  40. package/dist/server/turnkey-client.d.ts.map +0 -1
  41. package/dist/server/turnkey-client.js +0 -118
  42. package/dist/server/turnkey-client.js.map +0 -1
  43. package/dist/server/turnkey-signer.d.ts +0 -40
  44. package/dist/server/turnkey-signer.d.ts.map +0 -1
  45. package/dist/server/turnkey-signer.js +0 -121
  46. package/dist/server/turnkey-signer.js.map +0 -1
  47. package/dist/types.d.ts +0 -155
  48. package/dist/types.d.ts.map +0 -1
  49. package/dist/types.js +0 -5
  50. package/dist/types.js.map +0 -1
  51. package/eslint.config.js +0 -32
  52. package/tests/index.test.ts +0 -29
  53. package/tests/server-auth.test.ts +0 -167
  54. package/tsconfig.json +0 -32
@@ -1,58 +0,0 @@
1
- /**
2
- * Turnkey DID Signer Adapter
3
- * Adapts Turnkey signing to work with didwebvh-ts signer interface
4
- * Uses @turnkey/sdk-server for all Turnkey operations (no viem/ethers dependency)
5
- */
6
- import { Turnkey } from '@turnkey/sdk-server';
7
- import type { TurnkeyWalletAccount } from '../types';
8
- interface SigningInput {
9
- document: Record<string, unknown>;
10
- proof: Record<string, unknown>;
11
- }
12
- interface SigningOutput {
13
- proofValue: string;
14
- }
15
- /**
16
- * Signer that uses Turnkey for signing DID documents
17
- * Compatible with didwebvh-ts signer interface
18
- */
19
- export declare class TurnkeyDIDSigner {
20
- private turnkeyClient;
21
- private signWith;
22
- private subOrgId;
23
- private publicKeyMultibase;
24
- private onExpired?;
25
- constructor(turnkeyClient: Turnkey, signWith: string, subOrgId: string, publicKeyMultibase: string, onExpired?: () => void);
26
- /**
27
- * Sign the document and proof using Turnkey
28
- */
29
- sign(input: SigningInput): Promise<SigningOutput>;
30
- /**
31
- * Get the verification method ID for this signer
32
- */
33
- getVerificationMethodId(): string;
34
- /**
35
- * Verify a signature
36
- */
37
- verify(signature: Uint8Array, message: Uint8Array, publicKey: Uint8Array): Promise<boolean>;
38
- }
39
- /**
40
- * Create a DID:WebVH using OriginalsSDK.createDIDOriginal() with Turnkey signing
41
- */
42
- export declare function createDIDWithTurnkey(params: {
43
- turnkeyClient: Turnkey;
44
- updateKeyAccount: TurnkeyWalletAccount;
45
- subOrgId: string;
46
- authKeyPublic: string;
47
- assertionKeyPublic: string;
48
- updateKeyPublic: string;
49
- domain: string;
50
- slug: string;
51
- onExpired?: () => void;
52
- }): Promise<{
53
- did: string;
54
- didDocument: unknown;
55
- didLog: unknown;
56
- }>;
57
- export {};
58
- //# sourceMappingURL=turnkey-did-signer.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"turnkey-did-signer.d.ts","sourceRoot":"","sources":["../../src/client/turnkey-did-signer.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAE9C,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,UAAU,CAAC;AAGrD,UAAU,YAAY;IACpB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;CAChC;AAED,UAAU,aAAa;IACrB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,gBAAgB;IAC3B,OAAO,CAAC,aAAa,CAAU;IAC/B,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,QAAQ,CAAS;IACzB,OAAO,CAAC,kBAAkB,CAAS;IACnC,OAAO,CAAC,SAAS,CAAC,CAAa;gBAG7B,aAAa,EAAE,OAAO,EACtB,QAAQ,EAAE,MAAM,EAChB,QAAQ,EAAE,MAAM,EAChB,kBAAkB,EAAE,MAAM,EAC1B,SAAS,CAAC,EAAE,MAAM,IAAI;IASxB;;OAEG;IACG,IAAI,CAAC,KAAK,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IA2DvD;;OAEG;IACH,uBAAuB,IAAI,MAAM;IAIjC;;OAEG;IACG,MAAM,CACV,SAAS,EAAE,UAAU,EACrB,OAAO,EAAE,UAAU,EACnB,SAAS,EAAE,UAAU,GACpB,OAAO,CAAC,OAAO,CAAC;CAQpB;AAED;;GAEG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,EAAE;IACjD,aAAa,EAAE,OAAO,CAAC;IACvB,gBAAgB,EAAE,oBAAoB,CAAC;IACvC,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;IACtB,kBAAkB,EAAE,MAAM,CAAC;IAC3B,eAAe,EAAE,MAAM,CAAC;IACxB,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,CAAC,EAAE,MAAM,IAAI,CAAC;CACxB,GAAG,OAAO,CAAC;IACV,GAAG,EAAE,MAAM,CAAC;IACZ,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB,CAAC,CAsDD"}
@@ -1,131 +0,0 @@
1
- /**
2
- * Turnkey DID Signer Adapter
3
- * Adapts Turnkey signing to work with didwebvh-ts signer interface
4
- * Uses @turnkey/sdk-server for all Turnkey operations (no viem/ethers dependency)
5
- */
6
- import { OriginalsSDK, encoding } from '@originals/sdk';
7
- import { TurnkeySessionExpiredError, withTokenExpiration } from './turnkey-client';
8
- /**
9
- * Signer that uses Turnkey for signing DID documents
10
- * Compatible with didwebvh-ts signer interface
11
- */
12
- export class TurnkeyDIDSigner {
13
- turnkeyClient;
14
- signWith;
15
- subOrgId;
16
- publicKeyMultibase;
17
- onExpired;
18
- constructor(turnkeyClient, signWith, subOrgId, publicKeyMultibase, onExpired) {
19
- this.turnkeyClient = turnkeyClient;
20
- this.signWith = signWith;
21
- this.subOrgId = subOrgId;
22
- this.publicKeyMultibase = publicKeyMultibase;
23
- this.onExpired = onExpired;
24
- }
25
- /**
26
- * Sign the document and proof using Turnkey
27
- */
28
- async sign(input) {
29
- return withTokenExpiration(async () => {
30
- try {
31
- // Use SDK's prepareDIDDataForSigning
32
- const dataToSign = await OriginalsSDK.prepareDIDDataForSigning(input.document, input.proof);
33
- // Sign with Turnkey via server SDK
34
- const result = await this.turnkeyClient.apiClient().signRawPayload({
35
- organizationId: this.subOrgId,
36
- signWith: this.signWith,
37
- payload: Buffer.from(dataToSign).toString('hex'),
38
- encoding: 'PAYLOAD_ENCODING_HEXADECIMAL',
39
- hashFunction: 'HASH_FUNCTION_NO_OP',
40
- });
41
- const r = result.r;
42
- const s = result.s;
43
- if (!r || !s) {
44
- throw new Error('Invalid signature response from Turnkey');
45
- }
46
- // For Ed25519, combine r+s only (64 bytes total)
47
- const cleanR = r.startsWith('0x') ? r.slice(2) : r;
48
- const cleanS = s.startsWith('0x') ? s.slice(2) : s;
49
- const combinedHex = cleanR + cleanS;
50
- const signatureBytes = Buffer.from(combinedHex, 'hex');
51
- if (signatureBytes.length !== 64) {
52
- throw new Error(`Invalid Ed25519 signature length: ${signatureBytes.length} (expected 64 bytes)`);
53
- }
54
- const proofValue = encoding.multibase.encode(signatureBytes, 'base58btc');
55
- return { proofValue };
56
- }
57
- catch (error) {
58
- console.error('[TurnkeyDIDSigner] Error signing with Turnkey:', error);
59
- const errorStr = JSON.stringify(error);
60
- if (errorStr.toLowerCase().includes('api_key_expired') ||
61
- errorStr.toLowerCase().includes('expired api key') ||
62
- errorStr.toLowerCase().includes('"code":16')) {
63
- console.warn('Detected expired API key in sign method, calling onExpired');
64
- if (this.onExpired) {
65
- this.onExpired();
66
- }
67
- throw new TurnkeySessionExpiredError();
68
- }
69
- throw error;
70
- }
71
- }, this.onExpired);
72
- }
73
- /**
74
- * Get the verification method ID for this signer
75
- */
76
- getVerificationMethodId() {
77
- return `did:key:${this.publicKeyMultibase}`;
78
- }
79
- /**
80
- * Verify a signature
81
- */
82
- async verify(signature, message, publicKey) {
83
- try {
84
- return await OriginalsSDK.verifyDIDSignature(signature, message, publicKey);
85
- }
86
- catch (error) {
87
- console.error('[TurnkeyDIDSigner] Error verifying signature:', error);
88
- return false;
89
- }
90
- }
91
- }
92
- /**
93
- * Create a DID:WebVH using OriginalsSDK.createDIDOriginal() with Turnkey signing
94
- */
95
- export async function createDIDWithTurnkey(params) {
96
- const { turnkeyClient, updateKeyAccount, subOrgId, authKeyPublic, assertionKeyPublic, updateKeyPublic, domain, slug, onExpired, } = params;
97
- // Create Turnkey signer for the update key
98
- const signer = new TurnkeyDIDSigner(turnkeyClient, updateKeyAccount.address, subOrgId, updateKeyPublic, onExpired);
99
- // Use SDK's createDIDOriginal
100
- const result = await OriginalsSDK.createDIDOriginal({
101
- type: 'did',
102
- domain,
103
- signer,
104
- verifier: signer,
105
- updateKeys: [signer.getVerificationMethodId()],
106
- verificationMethods: [
107
- {
108
- id: '#key-0',
109
- type: 'Multikey',
110
- controller: '',
111
- publicKeyMultibase: authKeyPublic,
112
- },
113
- {
114
- id: '#key-1',
115
- type: 'Multikey',
116
- controller: '',
117
- publicKeyMultibase: assertionKeyPublic,
118
- },
119
- ],
120
- paths: [slug],
121
- portable: false,
122
- authentication: ['#key-0'],
123
- assertionMethod: ['#key-1'],
124
- });
125
- return {
126
- did: result.did,
127
- didDocument: result.doc,
128
- didLog: result.log,
129
- };
130
- }
131
- //# sourceMappingURL=turnkey-did-signer.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"turnkey-did-signer.js","sourceRoot":"","sources":["../../src/client/turnkey-did-signer.ts"],"names":[],"mappings":"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"}
package/dist/index.d.ts DELETED
@@ -1,23 +0,0 @@
1
- /**
2
- * @originals/auth - Turnkey-based authentication for the Originals Protocol
3
- *
4
- * This package provides authentication utilities for both server and client applications.
5
- *
6
- * Server-side:
7
- * ```typescript
8
- * import { createAuthMiddleware, initiateEmailAuth, verifyEmailAuth } from '@originals/auth/server';
9
- * ```
10
- *
11
- * Client-side (pure functions, no React):
12
- * ```typescript
13
- * import { initializeTurnkeyClient, initOtp, completeOtp, fetchWallets } from '@originals/auth/client';
14
- * ```
15
- *
16
- * Types:
17
- * ```typescript
18
- * import type { AuthUser, TokenPayload, TurnkeyWallet } from '@originals/auth/types';
19
- * ```
20
- */
21
- export * from './types';
22
- export * from './server';
23
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAGH,cAAc,SAAS,CAAC;AAGxB,cAAc,UAAU,CAAC"}
package/dist/index.js DELETED
@@ -1,27 +0,0 @@
1
- /**
2
- * @originals/auth - Turnkey-based authentication for the Originals Protocol
3
- *
4
- * This package provides authentication utilities for both server and client applications.
5
- *
6
- * Server-side:
7
- * ```typescript
8
- * import { createAuthMiddleware, initiateEmailAuth, verifyEmailAuth } from '@originals/auth/server';
9
- * ```
10
- *
11
- * Client-side (pure functions, no React):
12
- * ```typescript
13
- * import { initializeTurnkeyClient, initOtp, completeOtp, fetchWallets } from '@originals/auth/client';
14
- * ```
15
- *
16
- * Types:
17
- * ```typescript
18
- * import type { AuthUser, TokenPayload, TurnkeyWallet } from '@originals/auth/types';
19
- * ```
20
- */
21
- // Re-export types
22
- export * from './types';
23
- // Re-export server utilities (for convenience, though subpath is preferred)
24
- export * from './server';
25
- // Note: Client utilities should be imported from '@originals/auth/client'
26
- // to avoid bundling React in server environments
27
- //# sourceMappingURL=index.js.map
package/dist/index.js.map DELETED
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;GAmBG;AAEH,kBAAkB;AAClB,cAAc,SAAS,CAAC;AAExB,4EAA4E;AAC5E,cAAc,UAAU,CAAC;AAEzB,0EAA0E;AAC1E,iDAAiD"}
@@ -1,42 +0,0 @@
1
- /**
2
- * Turnkey Email Authentication Service
3
- * Implements email-based authentication using Turnkey's OTP flow
4
- */
5
- import { Turnkey } from '@turnkey/sdk-server';
6
- import type { EmailAuthSession, InitiateAuthResult, VerifyAuthResult } from '../types';
7
- /**
8
- * Session storage interface for pluggable session management
9
- */
10
- export interface SessionStorage {
11
- get(sessionId: string): EmailAuthSession | undefined;
12
- set(sessionId: string, session: EmailAuthSession): void;
13
- delete(sessionId: string): void;
14
- cleanup(): void;
15
- }
16
- /**
17
- * Create an in-memory session storage
18
- * For production, consider using Redis or a database
19
- */
20
- export declare function createInMemorySessionStorage(): SessionStorage;
21
- /**
22
- * Initiate email authentication using Turnkey OTP
23
- * Sends a 6-digit OTP code to the user's email
24
- */
25
- export declare function initiateEmailAuth(email: string, turnkeyClient: Turnkey, sessionStorage?: SessionStorage): Promise<InitiateAuthResult>;
26
- /**
27
- * Verify email authentication code using Turnkey OTP
28
- */
29
- export declare function verifyEmailAuth(sessionId: string, code: string, turnkeyClient: Turnkey, sessionStorage?: SessionStorage): Promise<VerifyAuthResult>;
30
- /**
31
- * Check if a session is verified
32
- */
33
- export declare function isSessionVerified(sessionId: string, sessionStorage?: SessionStorage): boolean;
34
- /**
35
- * Clean up a session after successful login
36
- */
37
- export declare function cleanupSession(sessionId: string, sessionStorage?: SessionStorage): void;
38
- /**
39
- * Get session data
40
- */
41
- export declare function getSession(sessionId: string, sessionStorage?: SessionStorage): EmailAuthSession | undefined;
42
- //# sourceMappingURL=email-auth.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email-auth.d.ts","sourceRoot":"","sources":["../../src/server/email-auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,OAAO,EAAE,MAAM,qBAAqB,CAAC;AAG9C,OAAO,KAAK,EAAE,gBAAgB,EAAE,kBAAkB,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAMvF;;GAEG;AACH,MAAM,WAAW,cAAc;IAC7B,GAAG,CAAC,SAAS,EAAE,MAAM,GAAG,gBAAgB,GAAG,SAAS,CAAC;IACrD,GAAG,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACxD,MAAM,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI,CAAC;IAChC,OAAO,IAAI,IAAI,CAAC;CACjB;AAED;;;GAGG;AACH,wBAAgB,4BAA4B,IAAI,cAAc,CA2B7D;AAmBD;;;GAGG;AACH,wBAAsB,iBAAiB,CACrC,KAAK,EAAE,MAAM,EACb,aAAa,EAAE,OAAO,EACtB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,kBAAkB,CAAC,CA2D7B;AAED;;GAEG;AACH,wBAAsB,eAAe,CACnC,SAAS,EAAE,MAAM,EACjB,IAAI,EAAE,MAAM,EACZ,aAAa,EAAE,OAAO,EACtB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAAC,gBAAgB,CAAC,CAqD3B;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,cAAc,GAC9B,OAAO,CAYT;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,cAAc,GAC9B,IAAI,CAGN;AAED;;GAEG;AACH,wBAAgB,UAAU,CACxB,SAAS,EAAE,MAAM,EACjB,cAAc,CAAC,EAAE,cAAc,GAC9B,gBAAgB,GAAG,SAAS,CAa9B"}
@@ -1,187 +0,0 @@
1
- /**
2
- * Turnkey Email Authentication Service
3
- * Implements email-based authentication using Turnkey's OTP flow
4
- */
5
- import { sha256 } from '@noble/hashes/sha2.js';
6
- import { bytesToHex } from '@noble/hashes/utils.js';
7
- import { getOrCreateTurnkeySubOrg } from './turnkey-client';
8
- // Session timeout (15 minutes to match Turnkey OTP)
9
- const SESSION_TIMEOUT = 15 * 60 * 1000;
10
- /**
11
- * Create an in-memory session storage
12
- * For production, consider using Redis or a database
13
- */
14
- export function createInMemorySessionStorage() {
15
- const sessions = new Map();
16
- // Start cleanup interval
17
- const cleanupInterval = setInterval(() => {
18
- const now = Date.now();
19
- for (const [sessionId, session] of sessions.entries()) {
20
- if (now - session.timestamp > SESSION_TIMEOUT) {
21
- sessions.delete(sessionId);
22
- }
23
- }
24
- }, 60 * 1000);
25
- // Keep the interval from preventing process exit
26
- if (cleanupInterval.unref) {
27
- cleanupInterval.unref();
28
- }
29
- return {
30
- get: (sessionId) => sessions.get(sessionId),
31
- set: (sessionId, session) => sessions.set(sessionId, session),
32
- delete: (sessionId) => sessions.delete(sessionId),
33
- cleanup: () => {
34
- clearInterval(cleanupInterval);
35
- sessions.clear();
36
- },
37
- };
38
- }
39
- // Default session storage
40
- let defaultSessionStorage = null;
41
- function getDefaultSessionStorage() {
42
- if (!defaultSessionStorage) {
43
- defaultSessionStorage = createInMemorySessionStorage();
44
- }
45
- return defaultSessionStorage;
46
- }
47
- /**
48
- * Generate a random session ID
49
- */
50
- function generateSessionId() {
51
- return `session_${Date.now()}_${Math.random().toString(36).substring(2, 15)}`;
52
- }
53
- /**
54
- * Initiate email authentication using Turnkey OTP
55
- * Sends a 6-digit OTP code to the user's email
56
- */
57
- export async function initiateEmailAuth(email, turnkeyClient, sessionStorage) {
58
- const storage = sessionStorage ?? getDefaultSessionStorage();
59
- // Validate email format
60
- const emailRegex = /^[^\s@]+@[^\s@]+\.[^\s@]+$/;
61
- if (!emailRegex.test(email)) {
62
- throw new Error('Invalid email format');
63
- }
64
- console.log(`\n🚀 Initiating email auth for: ${email}`);
65
- // Step 1: Get or create Turnkey sub-organization
66
- const subOrgId = await getOrCreateTurnkeySubOrg(email, turnkeyClient);
67
- // Step 2: Send OTP via Turnkey
68
- console.log(`📨 Sending OTP to ${email} via Turnkey...`);
69
- // Generate a unique user identifier for rate limiting
70
- const data = new TextEncoder().encode(email);
71
- const hash = sha256(data);
72
- const userIdentifier = bytesToHex(hash);
73
- const otpResult = await turnkeyClient.apiClient().initOtp({
74
- otpType: 'OTP_TYPE_EMAIL',
75
- contact: email,
76
- userIdentifier: userIdentifier,
77
- appName: 'Originals',
78
- otpLength: 6,
79
- alphanumeric: false,
80
- });
81
- const otpId = otpResult.otpId;
82
- if (!otpId) {
83
- throw new Error('Failed to initiate OTP - no OTP ID returned');
84
- }
85
- console.log(`✅ OTP sent! OTP ID: ${otpId}`);
86
- // Create auth session
87
- const sessionId = generateSessionId();
88
- storage.set(sessionId, {
89
- email,
90
- subOrgId,
91
- otpId,
92
- timestamp: Date.now(),
93
- verified: false,
94
- });
95
- console.log('='.repeat(60));
96
- console.log(`📧 Check ${email} for the verification code!`);
97
- console.log(` Session ID: ${sessionId}`);
98
- console.log(` Valid for: 15 minutes`);
99
- console.log('='.repeat(60) + '\n');
100
- return {
101
- sessionId,
102
- message: 'Verification code sent to your email. Check your inbox!',
103
- };
104
- }
105
- /**
106
- * Verify email authentication code using Turnkey OTP
107
- */
108
- export async function verifyEmailAuth(sessionId, code, turnkeyClient, sessionStorage) {
109
- const storage = sessionStorage ?? getDefaultSessionStorage();
110
- const session = storage.get(sessionId);
111
- if (!session) {
112
- throw new Error('Invalid or expired session');
113
- }
114
- // Check if session has expired
115
- if (Date.now() - session.timestamp > SESSION_TIMEOUT) {
116
- storage.delete(sessionId);
117
- throw new Error('Session expired. Please request a new code.');
118
- }
119
- if (!session.otpId) {
120
- throw new Error('OTP ID not found in session');
121
- }
122
- if (!session.subOrgId) {
123
- throw new Error('Sub-organization ID not found');
124
- }
125
- console.log(`\n🔐 Verifying OTP for session ${sessionId}...`);
126
- try {
127
- // Verify the OTP code with Turnkey
128
- const verifyResult = await turnkeyClient.apiClient().verifyOtp({
129
- otpId: session.otpId,
130
- otpCode: code,
131
- expirationSeconds: '900', // 15 minutes
132
- });
133
- if (!verifyResult.verificationToken) {
134
- throw new Error('OTP verification failed - no verification token returned');
135
- }
136
- console.log(`✅ OTP verified successfully!`);
137
- // Mark session as verified
138
- session.verified = true;
139
- storage.set(sessionId, session);
140
- return {
141
- verified: true,
142
- email: session.email,
143
- subOrgId: session.subOrgId,
144
- };
145
- }
146
- catch (error) {
147
- console.error('❌ OTP verification failed:', error);
148
- throw new Error(`Invalid verification code: ${error instanceof Error ? error.message : String(error)}`);
149
- }
150
- }
151
- /**
152
- * Check if a session is verified
153
- */
154
- export function isSessionVerified(sessionId, sessionStorage) {
155
- const storage = sessionStorage ?? getDefaultSessionStorage();
156
- const session = storage.get(sessionId);
157
- if (!session)
158
- return false;
159
- if (Date.now() - session.timestamp > SESSION_TIMEOUT) {
160
- storage.delete(sessionId);
161
- return false;
162
- }
163
- return session.verified;
164
- }
165
- /**
166
- * Clean up a session after successful login
167
- */
168
- export function cleanupSession(sessionId, sessionStorage) {
169
- const storage = sessionStorage ?? getDefaultSessionStorage();
170
- storage.delete(sessionId);
171
- }
172
- /**
173
- * Get session data
174
- */
175
- export function getSession(sessionId, sessionStorage) {
176
- const storage = sessionStorage ?? getDefaultSessionStorage();
177
- const session = storage.get(sessionId);
178
- if (!session)
179
- return undefined;
180
- // Check if expired
181
- if (Date.now() - session.timestamp > SESSION_TIMEOUT) {
182
- storage.delete(sessionId);
183
- return undefined;
184
- }
185
- return session;
186
- }
187
- //# sourceMappingURL=email-auth.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"email-auth.js","sourceRoot":"","sources":["../../src/server/email-auth.ts"],"names":[],"mappings":"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"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Server-side authentication utilities
3
- *
4
- * @example
5
- * ```typescript
6
- * import {
7
- * createAuthMiddleware,
8
- * initiateEmailAuth,
9
- * verifyEmailAuth,
10
- * signToken,
11
- * verifyToken,
12
- * createTurnkeyClient,
13
- * TurnkeyWebVHSigner
14
- * } from '@originals/auth/server';
15
- * ```
16
- */
17
- export { createTurnkeyClient, getOrCreateTurnkeySubOrg } from './turnkey-client';
18
- export { initiateEmailAuth, verifyEmailAuth, isSessionVerified, cleanupSession, getSession, type SessionStorage, createInMemorySessionStorage, } from './email-auth';
19
- export { signToken, verifyToken, getAuthCookieConfig, getClearAuthCookieConfig, } from './jwt';
20
- export { createAuthMiddleware } from './middleware';
21
- export { TurnkeyWebVHSigner, createTurnkeySigner } from './turnkey-signer';
22
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,UAAU,EACV,KAAK,cAAc,EACnB,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,22 +0,0 @@
1
- /**
2
- * Server-side authentication utilities
3
- *
4
- * @example
5
- * ```typescript
6
- * import {
7
- * createAuthMiddleware,
8
- * initiateEmailAuth,
9
- * verifyEmailAuth,
10
- * signToken,
11
- * verifyToken,
12
- * createTurnkeyClient,
13
- * TurnkeyWebVHSigner
14
- * } from '@originals/auth/server';
15
- * ```
16
- */
17
- export { createTurnkeyClient, getOrCreateTurnkeySubOrg } from './turnkey-client';
18
- export { initiateEmailAuth, verifyEmailAuth, isSessionVerified, cleanupSession, getSession, createInMemorySessionStorage, } from './email-auth';
19
- export { signToken, verifyToken, getAuthCookieConfig, getClearAuthCookieConfig, } from './jwt';
20
- export { createAuthMiddleware } from './middleware';
21
- export { TurnkeyWebVHSigner, createTurnkeySigner } from './turnkey-signer';
22
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/server/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,EAAE,mBAAmB,EAAE,wBAAwB,EAAE,MAAM,kBAAkB,CAAC;AACjF,OAAO,EACL,iBAAiB,EACjB,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,UAAU,EAEV,4BAA4B,GAC7B,MAAM,cAAc,CAAC;AACtB,OAAO,EACL,SAAS,EACT,WAAW,EACX,mBAAmB,EACnB,wBAAwB,GACzB,MAAM,OAAO,CAAC;AACf,OAAO,EAAE,oBAAoB,EAAE,MAAM,cAAc,CAAC;AACpD,OAAO,EAAE,kBAAkB,EAAE,mBAAmB,EAAE,MAAM,kBAAkB,CAAC"}
@@ -1,49 +0,0 @@
1
- /**
2
- * JWT Authentication Module
3
- * Implements secure token issuance and validation with HTTP-only cookies
4
- */
5
- import type { TokenPayload, AuthCookieConfig } from '../types';
6
- /**
7
- * Sign a JWT token for a user
8
- * @param subOrgId - Turnkey sub-organization ID (stable identifier)
9
- * @param email - User email (metadata)
10
- * @param sessionToken - Optional Turnkey session token for user authentication
11
- * @param options - Additional options
12
- * @returns Signed JWT token string
13
- */
14
- export declare function signToken(subOrgId: string, email: string, sessionToken?: string, options?: {
15
- secret?: string;
16
- expiresIn?: number;
17
- issuer?: string;
18
- audience?: string;
19
- }): string;
20
- /**
21
- * Verify and decode a JWT token
22
- * @param token - JWT token string
23
- * @param options - Additional options
24
- * @returns Decoded token payload
25
- * @throws Error if token is invalid or expired
26
- */
27
- export declare function verifyToken(token: string, options?: {
28
- secret?: string;
29
- issuer?: string;
30
- audience?: string;
31
- }): TokenPayload;
32
- /**
33
- * Generate a secure cookie configuration for authentication tokens
34
- * @param token - JWT token to set in cookie
35
- * @param options - Cookie options
36
- * @returns Cookie configuration object
37
- */
38
- export declare function getAuthCookieConfig(token: string, options?: {
39
- cookieName?: string;
40
- maxAge?: number;
41
- secure?: boolean;
42
- }): AuthCookieConfig;
43
- /**
44
- * Get cookie configuration for logout (clears the auth cookie)
45
- * @param cookieName - Name of the cookie to clear
46
- * @returns Cookie configuration for clearing
47
- */
48
- export declare function getClearAuthCookieConfig(cookieName?: string): AuthCookieConfig;
49
- //# sourceMappingURL=jwt.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"jwt.d.ts","sourceRoot":"","sources":["../../src/server/jwt.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,YAAY,EAAE,gBAAgB,EAAE,MAAM,UAAU,CAAC;AAgB/D;;;;;;;GAOG;AACH,wBAAgB,SAAS,CACvB,QAAQ,EAAE,MAAM,EAChB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,EACrB,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,MAAM,CAuBR;AAED;;;;;;GAMG;AACH,wBAAgB,WAAW,CACzB,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IACR,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB,GACA,YAAY,CAuBd;AAED;;;;;GAKG;AACH,wBAAgB,mBAAmB,CACjC,KAAK,EAAE,MAAM,EACb,OAAO,CAAC,EAAE;IACR,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,GACA,gBAAgB,CAclB;AAED;;;;GAIG;AACH,wBAAgB,wBAAwB,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,gBAAgB,CAc9E"}