@dainprotocol/service-sdk 1.1.49 → 1.2.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/client/client-auth.d.ts +24 -8
- package/dist/client/client-auth.js +103 -16
- package/dist/client/client-auth.js.map +1 -1
- package/dist/service/auth.d.ts +38 -1
- package/dist/service/auth.js +77 -5
- package/dist/service/auth.js.map +1 -1
- package/dist/service/core.js.map +1 -1
- package/dist/service/oauth2.d.ts +3 -2
- package/dist/service/oauth2.js +1 -0
- package/dist/service/oauth2.js.map +1 -1
- package/dist/service/oauth2Manager.d.ts +2 -0
- package/dist/service/oauth2Manager.js +5 -2
- package/dist/service/oauth2Manager.js.map +1 -1
- package/dist/service/server.js +43 -3
- package/dist/service/server.js.map +1 -1
- package/dist/service/types.d.ts +8 -0
- package/package.json +3 -3
- package/dist/__tests__/oauth-context-simple.test.d.ts +0 -1
- package/dist/__tests__/oauth-context-simple.test.js +0 -90
- package/dist/__tests__/oauth-context-simple.test.js.map +0 -1
- package/dist/__tests__/oauth-context.test.d.ts +0 -1
- package/dist/__tests__/oauth-context.test.js +0 -282
- package/dist/__tests__/oauth-context.test.js.map +0 -1
- package/dist/__tests__/oauth2-client-context.test.d.ts +0 -1
- package/dist/__tests__/oauth2-client-context.test.js +0 -165
- package/dist/__tests__/oauth2-client-context.test.js.map +0 -1
- package/dist/__tests__/oauth2-client-simple.test.d.ts +0 -1
- package/dist/__tests__/oauth2-client-simple.test.js +0 -144
- package/dist/__tests__/oauth2-client-simple.test.js.map +0 -1
|
@@ -1,4 +1,6 @@
|
|
|
1
1
|
interface DainClientAuthConfig {
|
|
2
|
+
jwt?: string;
|
|
3
|
+
smartAccountId?: string;
|
|
2
4
|
privateKeyBase58?: string;
|
|
3
5
|
agentId?: string;
|
|
4
6
|
orgId?: string;
|
|
@@ -7,26 +9,40 @@ interface DainClientAuthConfig {
|
|
|
7
9
|
webhookUrl?: string;
|
|
8
10
|
}
|
|
9
11
|
export declare class DainClientAuth {
|
|
10
|
-
private
|
|
11
|
-
private
|
|
12
|
-
private
|
|
13
|
-
private
|
|
12
|
+
private jwt?;
|
|
13
|
+
private smartAccountId?;
|
|
14
|
+
private privateKey?;
|
|
15
|
+
private agentId?;
|
|
16
|
+
private orgId?;
|
|
17
|
+
private publicKey?;
|
|
14
18
|
private smartAccountPDA?;
|
|
15
19
|
private webhookUrl?;
|
|
20
|
+
private readonly authMethod;
|
|
16
21
|
constructor(config: DainClientAuthConfig);
|
|
17
22
|
private parseApiKey;
|
|
23
|
+
/**
|
|
24
|
+
* Sign request for legacy authentication
|
|
25
|
+
* For JWT auth, returns empty values (not needed)
|
|
26
|
+
*/
|
|
18
27
|
signRequest(method: string, path: string, body: string): Promise<{
|
|
19
28
|
signature: string;
|
|
20
29
|
timestamp: string;
|
|
21
30
|
}>;
|
|
31
|
+
/**
|
|
32
|
+
* Get headers for authentication
|
|
33
|
+
* Returns different headers based on auth method
|
|
34
|
+
*/
|
|
22
35
|
getHeaders(signature: string, timestamp: string): Record<string, string>;
|
|
23
36
|
signMessage(message: string): string;
|
|
24
37
|
static verifyMessage(message: string, signature: string, publicKey: Uint8Array): boolean;
|
|
25
38
|
verifyEventSignature(data: string, signature: string, timestamp: string, publicKeyBase58: string): boolean;
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
39
|
+
getAuthMethod(): 'jwt' | 'legacy';
|
|
40
|
+
getJWT(): string | undefined;
|
|
41
|
+
getSmartAccountId(): string | undefined;
|
|
42
|
+
getAgentId(): string | undefined;
|
|
43
|
+
getOrgId(): string | undefined;
|
|
44
|
+
getPublicKey(): Uint8Array | undefined;
|
|
45
|
+
getPublicKeyBase58(): string | undefined;
|
|
30
46
|
getSmartAccountPDA(): string | undefined;
|
|
31
47
|
getWebhookUrl(): string | undefined;
|
|
32
48
|
serialize(): string;
|
|
@@ -8,13 +8,43 @@ const sha256_1 = require("@noble/hashes/sha256");
|
|
|
8
8
|
const utils_1 = require("@noble/hashes/utils");
|
|
9
9
|
const bs58_1 = tslib_1.__importDefault(require("bs58"));
|
|
10
10
|
class DainClientAuth {
|
|
11
|
+
// JWT fields (user auth)
|
|
12
|
+
jwt;
|
|
13
|
+
smartAccountId;
|
|
14
|
+
// Legacy fields (service auth)
|
|
11
15
|
privateKey;
|
|
12
16
|
agentId;
|
|
13
17
|
orgId;
|
|
14
18
|
publicKey;
|
|
15
19
|
smartAccountPDA;
|
|
20
|
+
// Common
|
|
16
21
|
webhookUrl;
|
|
22
|
+
authMethod;
|
|
17
23
|
constructor(config) {
|
|
24
|
+
// Priority 1: JWT Authentication (Users from DAIN ID)
|
|
25
|
+
if (config.jwt) {
|
|
26
|
+
this.jwt = config.jwt;
|
|
27
|
+
this.authMethod = 'jwt';
|
|
28
|
+
this.webhookUrl = config.webhookUrl;
|
|
29
|
+
// Extract smartAccountId from JWT if not provided
|
|
30
|
+
if (config.smartAccountId) {
|
|
31
|
+
this.smartAccountId = config.smartAccountId;
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
try {
|
|
35
|
+
const payload = JSON.parse(Buffer.from(config.jwt.split('.')[1], 'base64').toString());
|
|
36
|
+
this.smartAccountId = payload.smart_account_id || payload.sub;
|
|
37
|
+
if (!this.smartAccountId) {
|
|
38
|
+
throw new Error('JWT missing smart_account_id/sub claim');
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
catch (error) {
|
|
42
|
+
throw new Error(`Invalid JWT: ${error instanceof Error ? error.message : String(error)}`);
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
// Priority 2: Legacy API Key (Services)
|
|
18
48
|
if (config.apiKey) {
|
|
19
49
|
const { privateKey, agentId, orgId, publicKey } = this.parseApiKey(config.apiKey);
|
|
20
50
|
this.privateKey = privateKey;
|
|
@@ -22,18 +52,24 @@ class DainClientAuth {
|
|
|
22
52
|
this.orgId = orgId;
|
|
23
53
|
this.publicKey = publicKey;
|
|
24
54
|
this.webhookUrl = config.webhookUrl;
|
|
55
|
+
this.smartAccountPDA = config.smartAccountPDA;
|
|
56
|
+
this.authMethod = 'legacy';
|
|
57
|
+
return;
|
|
25
58
|
}
|
|
26
|
-
|
|
59
|
+
// Priority 3: Legacy Keypair (Services)
|
|
60
|
+
if (config.privateKeyBase58 && config.agentId && config.orgId) {
|
|
27
61
|
this.privateKey = bs58_1.default.decode(config.privateKeyBase58);
|
|
28
62
|
this.agentId = config.agentId.replace('agent_', '');
|
|
29
63
|
this.orgId = config.orgId.replace('org_', '');
|
|
30
64
|
this.publicKey = ed25519_1.ed25519.getPublicKey(this.privateKey);
|
|
31
65
|
this.webhookUrl = config.webhookUrl;
|
|
66
|
+
this.smartAccountPDA = config.smartAccountPDA;
|
|
67
|
+
this.authMethod = 'legacy';
|
|
68
|
+
return;
|
|
32
69
|
}
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
this.smartAccountPDA = config.smartAccountPDA;
|
|
70
|
+
throw new Error('Invalid auth config. Provide either:\n' +
|
|
71
|
+
' - jwt (for users)\n' +
|
|
72
|
+
' - apiKey OR (privateKeyBase58 + agentId + orgId) (for services)');
|
|
37
73
|
}
|
|
38
74
|
parseApiKey(apiKey) {
|
|
39
75
|
const parts = apiKey.split('_');
|
|
@@ -47,26 +83,53 @@ class DainClientAuth {
|
|
|
47
83
|
const publicKey = bs58_1.default.decode(privateKeyBase58).slice(32);
|
|
48
84
|
return { privateKey, agentId, orgId, publicKey };
|
|
49
85
|
}
|
|
86
|
+
/**
|
|
87
|
+
* Sign request for legacy authentication
|
|
88
|
+
* For JWT auth, returns empty values (not needed)
|
|
89
|
+
*/
|
|
50
90
|
async signRequest(method, path, body) {
|
|
91
|
+
if (this.authMethod === 'jwt') {
|
|
92
|
+
// JWT doesn't need request signing
|
|
93
|
+
return { signature: '', timestamp: '' };
|
|
94
|
+
}
|
|
95
|
+
// Legacy: Sign request
|
|
51
96
|
const timestamp = Date.now().toString();
|
|
52
97
|
const message = `${method}:${path}:${timestamp}:${body}`;
|
|
53
|
-
// console.log("signRequest:", { message, timestamp });
|
|
54
98
|
const messageHash = (0, sha256_1.sha256)(message);
|
|
55
99
|
const signature = ed25519_1.ed25519.sign(messageHash, this.privateKey);
|
|
56
100
|
return { signature: (0, utils_1.bytesToHex)(signature), timestamp };
|
|
57
101
|
}
|
|
102
|
+
/**
|
|
103
|
+
* Get headers for authentication
|
|
104
|
+
* Returns different headers based on auth method
|
|
105
|
+
*/
|
|
58
106
|
getHeaders(signature, timestamp) {
|
|
107
|
+
if (this.authMethod === 'jwt') {
|
|
108
|
+
// JWT Authentication
|
|
109
|
+
const headers = {
|
|
110
|
+
"Authorization": `Bearer ${this.jwt}`,
|
|
111
|
+
"X-DAIN-SMART-ACCOUNT-ID": this.smartAccountId,
|
|
112
|
+
};
|
|
113
|
+
if (this.webhookUrl) {
|
|
114
|
+
headers["X-DAIN-WEBHOOK-URL"] = this.webhookUrl;
|
|
115
|
+
}
|
|
116
|
+
return headers;
|
|
117
|
+
}
|
|
118
|
+
// Legacy Authentication
|
|
59
119
|
return {
|
|
60
120
|
"X-DAIN-SIGNATURE": signature,
|
|
61
121
|
"X-DAIN-TIMESTAMP": timestamp,
|
|
62
122
|
"X-DAIN-AGENT-ID": this.agentId,
|
|
63
123
|
"X-DAIN-ORG-ID": this.orgId,
|
|
64
124
|
"X-DAIN-ADDRESS": bs58_1.default.encode(this.publicKey),
|
|
65
|
-
"X-DAIN-SMART-ACCOUNT-PDA": this.smartAccountPDA,
|
|
66
|
-
"X-DAIN-WEBHOOK-URL": this.webhookUrl,
|
|
125
|
+
"X-DAIN-SMART-ACCOUNT-PDA": this.smartAccountPDA || '',
|
|
126
|
+
"X-DAIN-WEBHOOK-URL": this.webhookUrl || '',
|
|
67
127
|
};
|
|
68
128
|
}
|
|
69
129
|
signMessage(message) {
|
|
130
|
+
if (this.authMethod === 'jwt') {
|
|
131
|
+
throw new Error('JWT auth does not support message signing');
|
|
132
|
+
}
|
|
70
133
|
const messageHash = (0, sha256_1.sha256)(message);
|
|
71
134
|
const signature = ed25519_1.ed25519.sign(messageHash, this.privateKey);
|
|
72
135
|
return (0, utils_1.bytesToHex)(signature);
|
|
@@ -75,14 +138,11 @@ class DainClientAuth {
|
|
|
75
138
|
const messageHash = (0, sha256_1.sha256)(message);
|
|
76
139
|
return ed25519_1.ed25519.verify(signature, messageHash, publicKey);
|
|
77
140
|
}
|
|
78
|
-
// Add a method to verify SSE event signatures
|
|
79
141
|
verifyEventSignature(data, signature, timestamp, publicKeyBase58) {
|
|
80
142
|
try {
|
|
81
|
-
// Combine data and timestamp to create the message that was signed
|
|
82
143
|
const message = `${data}:${timestamp}`;
|
|
83
144
|
const messageHash = (0, sha256_1.sha256)(message);
|
|
84
145
|
const publicKey = bs58_1.default.decode(publicKeyBase58);
|
|
85
|
-
// Verify the signature
|
|
86
146
|
return ed25519_1.ed25519.verify(signature, messageHash, publicKey);
|
|
87
147
|
}
|
|
88
148
|
catch (error) {
|
|
@@ -90,7 +150,16 @@ class DainClientAuth {
|
|
|
90
150
|
return false;
|
|
91
151
|
}
|
|
92
152
|
}
|
|
93
|
-
//
|
|
153
|
+
// Getters
|
|
154
|
+
getAuthMethod() {
|
|
155
|
+
return this.authMethod;
|
|
156
|
+
}
|
|
157
|
+
getJWT() {
|
|
158
|
+
return this.jwt;
|
|
159
|
+
}
|
|
160
|
+
getSmartAccountId() {
|
|
161
|
+
return this.smartAccountId;
|
|
162
|
+
}
|
|
94
163
|
getAgentId() {
|
|
95
164
|
return this.agentId;
|
|
96
165
|
}
|
|
@@ -101,7 +170,7 @@ class DainClientAuth {
|
|
|
101
170
|
return this.publicKey;
|
|
102
171
|
}
|
|
103
172
|
getPublicKeyBase58() {
|
|
104
|
-
return bs58_1.default.encode(this.publicKey);
|
|
173
|
+
return this.publicKey ? bs58_1.default.encode(this.publicKey) : undefined;
|
|
105
174
|
}
|
|
106
175
|
getSmartAccountPDA() {
|
|
107
176
|
return this.smartAccountPDA;
|
|
@@ -110,29 +179,47 @@ class DainClientAuth {
|
|
|
110
179
|
return this.webhookUrl;
|
|
111
180
|
}
|
|
112
181
|
serialize() {
|
|
182
|
+
if (this.authMethod === 'jwt') {
|
|
183
|
+
const data = {
|
|
184
|
+
authMethod: 'jwt',
|
|
185
|
+
jwt: this.jwt,
|
|
186
|
+
smartAccountId: this.smartAccountId,
|
|
187
|
+
webhookUrl: this.webhookUrl,
|
|
188
|
+
};
|
|
189
|
+
return bs58_1.default.encode(Buffer.from(JSON.stringify(data)));
|
|
190
|
+
}
|
|
113
191
|
const data = {
|
|
192
|
+
authMethod: 'legacy',
|
|
114
193
|
privateKey: Array.from(this.privateKey),
|
|
115
194
|
agentId: this.agentId,
|
|
116
195
|
orgId: this.orgId,
|
|
117
196
|
publicKey: Array.from(this.publicKey),
|
|
118
197
|
smartAccountPDA: this.smartAccountPDA,
|
|
119
|
-
webhookUrl: this.webhookUrl
|
|
198
|
+
webhookUrl: this.webhookUrl,
|
|
120
199
|
};
|
|
121
200
|
return bs58_1.default.encode(Buffer.from(JSON.stringify(data)));
|
|
122
201
|
}
|
|
123
202
|
static deserialize(serialized) {
|
|
124
203
|
try {
|
|
125
204
|
const data = JSON.parse(Buffer.from(bs58_1.default.decode(serialized)).toString());
|
|
205
|
+
if (data.authMethod === 'jwt') {
|
|
206
|
+
return new DainClientAuth({
|
|
207
|
+
jwt: data.jwt,
|
|
208
|
+
smartAccountId: data.smartAccountId,
|
|
209
|
+
webhookUrl: data.webhookUrl,
|
|
210
|
+
});
|
|
211
|
+
}
|
|
212
|
+
// Legacy or missing authMethod (backward compatibility)
|
|
126
213
|
return new DainClientAuth({
|
|
127
214
|
privateKeyBase58: bs58_1.default.encode(new Uint8Array(data.privateKey)),
|
|
128
215
|
agentId: data.agentId,
|
|
129
216
|
orgId: data.orgId,
|
|
130
217
|
smartAccountPDA: data.smartAccountPDA,
|
|
131
|
-
webhookUrl: data.webhookUrl
|
|
218
|
+
webhookUrl: data.webhookUrl,
|
|
132
219
|
});
|
|
133
220
|
}
|
|
134
221
|
catch (error) {
|
|
135
|
-
throw new Error(
|
|
222
|
+
throw new Error(`Failed to deserialize DainClientAuth: ${error.message}`);
|
|
136
223
|
}
|
|
137
224
|
}
|
|
138
225
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client-auth.js","sourceRoot":"","sources":["../../src/client/client-auth.ts"],"names":[],"mappings":";;;;AAAA,iCAAiC;AACjC,mDAAgD;AAChD,iDAA8C;AAC9C,+CAAiD;AACjD,wDAAwB;
|
|
1
|
+
{"version":3,"file":"client-auth.js","sourceRoot":"","sources":["../../src/client/client-auth.ts"],"names":[],"mappings":"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"}
|
package/dist/service/auth.d.ts
CHANGED
|
@@ -1,3 +1,40 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* JWT AUTHENTICATION (for users from DAIN ID)
|
|
3
|
+
*/
|
|
4
|
+
export interface JWTPayload {
|
|
5
|
+
sub: string;
|
|
6
|
+
iss: string;
|
|
7
|
+
aud: string;
|
|
8
|
+
iat: number;
|
|
9
|
+
exp: number;
|
|
10
|
+
scope: string[];
|
|
11
|
+
smart_account_id: string;
|
|
12
|
+
}
|
|
13
|
+
export interface AuthResult {
|
|
14
|
+
success: boolean;
|
|
15
|
+
smartAccountId?: string;
|
|
16
|
+
scope?: string[];
|
|
17
|
+
agentId?: string;
|
|
18
|
+
orgId?: string;
|
|
19
|
+
address?: string;
|
|
20
|
+
error?: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Verify JWT token from DAIN ID
|
|
24
|
+
* This should be used with a public key fetched from DAIN ID's JWKS endpoint
|
|
25
|
+
*/
|
|
26
|
+
export declare function verifyJWT(token: string, publicKeyOrJWKS: string | any): Promise<AuthResult>;
|
|
27
|
+
/**
|
|
28
|
+
* Extract Bearer token from Authorization header
|
|
29
|
+
*/
|
|
30
|
+
export declare function extractBearerToken(authHeader: string | undefined): string | null;
|
|
31
|
+
/**
|
|
32
|
+
* Check if token has required scope
|
|
33
|
+
*/
|
|
34
|
+
export declare function hasRequiredScope(tokenScopes: string[], requiredScope: string): boolean;
|
|
35
|
+
/**
|
|
36
|
+
* LEGACY AUTHENTICATION (for service-to-service)
|
|
37
|
+
*/
|
|
1
38
|
export declare function addressToPublicKeyBytes(address: string): Uint8Array;
|
|
2
39
|
export declare function signatureToBytes(signature: string): Uint8Array;
|
|
3
40
|
export declare function verifySignature(signature: string, message: string, address: string): boolean;
|
|
@@ -7,5 +44,5 @@ export declare function signResponse(privateKey: Uint8Array, responseBody: strin
|
|
|
7
44
|
timestamp: string;
|
|
8
45
|
};
|
|
9
46
|
export declare function verifyResponse(publicKey: Uint8Array, responseBody: string, signature: string, timestamp: string): boolean;
|
|
10
|
-
export declare function verifyRequestSignature(signature: string, method: string, path: string, headers: Record<string, string>, body: string, address: string, smartAccountPDA
|
|
47
|
+
export declare function verifyRequestSignature(signature: string, method: string, path: string, headers: Record<string, string>, body: string, address: string, smartAccountPDA?: string): boolean;
|
|
11
48
|
export declare function isValidSolanaAddress(address: string): boolean;
|
package/dist/service/auth.js
CHANGED
|
@@ -1,6 +1,9 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
// File: src/service/auth.ts
|
|
3
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
4
|
+
exports.verifyJWT = verifyJWT;
|
|
5
|
+
exports.extractBearerToken = extractBearerToken;
|
|
6
|
+
exports.hasRequiredScope = hasRequiredScope;
|
|
4
7
|
exports.addressToPublicKeyBytes = addressToPublicKeyBytes;
|
|
5
8
|
exports.signatureToBytes = signatureToBytes;
|
|
6
9
|
exports.verifySignature = verifySignature;
|
|
@@ -14,6 +17,77 @@ const ed25519_1 = require("@noble/curves/ed25519");
|
|
|
14
17
|
const sha256_1 = require("@noble/hashes/sha256");
|
|
15
18
|
const utils_1 = require("@noble/hashes/utils");
|
|
16
19
|
const bs58_1 = tslib_1.__importDefault(require("bs58"));
|
|
20
|
+
/**
|
|
21
|
+
* Verify JWT token from DAIN ID
|
|
22
|
+
* This should be used with a public key fetched from DAIN ID's JWKS endpoint
|
|
23
|
+
*/
|
|
24
|
+
async function verifyJWT(token, publicKeyOrJWKS) {
|
|
25
|
+
try {
|
|
26
|
+
// In a real implementation, use jsonwebtoken library
|
|
27
|
+
// For now, we'll decode without verification (services should implement proper verification)
|
|
28
|
+
const payload = JSON.parse(Buffer.from(token.split('.')[1], 'base64').toString());
|
|
29
|
+
// Verify issuer
|
|
30
|
+
if (payload.iss !== 'dainid-oauth') {
|
|
31
|
+
return {
|
|
32
|
+
success: false,
|
|
33
|
+
error: 'Invalid issuer',
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
// Verify expiration
|
|
37
|
+
const now = Math.floor(Date.now() / 1000);
|
|
38
|
+
if (payload.exp && payload.exp < now) {
|
|
39
|
+
return {
|
|
40
|
+
success: false,
|
|
41
|
+
error: 'Token expired',
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
// Extract smart account ID
|
|
45
|
+
const smartAccountId = payload.smart_account_id || payload.sub;
|
|
46
|
+
if (!smartAccountId) {
|
|
47
|
+
return {
|
|
48
|
+
success: false,
|
|
49
|
+
error: 'Missing smart_account_id',
|
|
50
|
+
};
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
success: true,
|
|
54
|
+
smartAccountId,
|
|
55
|
+
scope: payload.scope || [],
|
|
56
|
+
};
|
|
57
|
+
}
|
|
58
|
+
catch (error) {
|
|
59
|
+
return {
|
|
60
|
+
success: false,
|
|
61
|
+
error: error instanceof Error ? error.message : 'JWT verification failed',
|
|
62
|
+
};
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
/**
|
|
66
|
+
* Extract Bearer token from Authorization header
|
|
67
|
+
*/
|
|
68
|
+
function extractBearerToken(authHeader) {
|
|
69
|
+
if (!authHeader || !authHeader.startsWith('Bearer ')) {
|
|
70
|
+
return null;
|
|
71
|
+
}
|
|
72
|
+
return authHeader.substring(7);
|
|
73
|
+
}
|
|
74
|
+
/**
|
|
75
|
+
* Check if token has required scope
|
|
76
|
+
*/
|
|
77
|
+
function hasRequiredScope(tokenScopes, requiredScope) {
|
|
78
|
+
return (tokenScopes.includes(requiredScope) ||
|
|
79
|
+
tokenScopes.includes('*') ||
|
|
80
|
+
tokenScopes.some((scope) => {
|
|
81
|
+
if (scope.endsWith('.*')) {
|
|
82
|
+
const prefix = scope.slice(0, -2);
|
|
83
|
+
return requiredScope.startsWith(prefix + '.');
|
|
84
|
+
}
|
|
85
|
+
return false;
|
|
86
|
+
}));
|
|
87
|
+
}
|
|
88
|
+
/**
|
|
89
|
+
* LEGACY AUTHENTICATION (for service-to-service)
|
|
90
|
+
*/
|
|
17
91
|
function addressToPublicKeyBytes(address) {
|
|
18
92
|
try {
|
|
19
93
|
return bs58_1.default.decode(address);
|
|
@@ -51,10 +125,10 @@ function sanitizeHeaders(headers) {
|
|
|
51
125
|
else if ((upperKey === "CONTENT-TYPE" || upperKey.startsWith("X-")) &&
|
|
52
126
|
Array.isArray(value) &&
|
|
53
127
|
value.length > 0) {
|
|
54
|
-
sanitizedHeaders[upperKey] = value.join(", ");
|
|
128
|
+
sanitizedHeaders[upperKey] = value.join(", ");
|
|
55
129
|
}
|
|
56
130
|
}
|
|
57
|
-
// Sort headers alphabetically
|
|
131
|
+
// Sort headers alphabetically
|
|
58
132
|
const sortedSanitizedHeaders = Object.keys(sanitizedHeaders)
|
|
59
133
|
.sort()
|
|
60
134
|
.reduce((acc, key) => {
|
|
@@ -81,14 +155,12 @@ function verifyResponse(publicKey, responseBody, signature, timestamp) {
|
|
|
81
155
|
}
|
|
82
156
|
}
|
|
83
157
|
function verifyRequestSignature(signature, method, path, headers, body, address, smartAccountPDA) {
|
|
84
|
-
//TODO smartAccountPDA check
|
|
85
158
|
const timestamp = headers["X-DAIN-TIMESTAMP"];
|
|
86
159
|
if (!timestamp) {
|
|
87
160
|
return false;
|
|
88
161
|
}
|
|
89
|
-
//
|
|
162
|
+
// Remove signature headers before verification
|
|
90
163
|
delete headers["X-DAIN-TIMESTAMP"];
|
|
91
|
-
//delete the signature from headers
|
|
92
164
|
delete headers["X-DAIN-SIGNATURE"];
|
|
93
165
|
const message = `${method.toUpperCase()}:${path}:${timestamp}:${body ? body : "{}"}`;
|
|
94
166
|
return verifySignature(signature, message, address);
|
package/dist/service/auth.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/service/auth.ts"],"names":[],"mappings":";AAAA,4BAA4B;;
|
|
1
|
+
{"version":3,"file":"auth.js","sourceRoot":"","sources":["../../src/service/auth.ts"],"names":[],"mappings":"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"}
|
package/dist/service/core.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/service/core.ts"],"names":[],"mappings":";AAAA,4BAA4B;;;
|
|
1
|
+
{"version":3,"file":"core.js","sourceRoot":"","sources":["../../src/service/core.ts"],"names":[],"mappings":"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"}
|
package/dist/service/oauth2.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { OAuth2ProviderConfig } from "./types";
|
|
2
|
-
import { StorageAdapter } from "@dainprotocol/oauth2-token-manager";
|
|
2
|
+
import { StorageAdapter, OAuth2Client } from "@dainprotocol/oauth2-token-manager";
|
|
3
3
|
interface StateData {
|
|
4
4
|
agentId: string;
|
|
5
5
|
provider: string;
|
|
@@ -11,8 +11,9 @@ export declare class OAuth2Handler {
|
|
|
11
11
|
private readonly privateKey;
|
|
12
12
|
/**
|
|
13
13
|
* Method to get the OAuth2Client (not exposed as a property)
|
|
14
|
+
* @returns The OAuth2Client instance
|
|
14
15
|
*/
|
|
15
|
-
getClient():
|
|
16
|
+
getClient(): OAuth2Client;
|
|
16
17
|
constructor(privateKey: string, baseUrl: string, tokenStore?: StorageAdapter);
|
|
17
18
|
registerProvider(name: string, config: OAuth2ProviderConfig): void;
|
|
18
19
|
generateAuthUrl(provider: string, agentId: string): Promise<string>;
|
package/dist/service/oauth2.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2.js","sourceRoot":"","sources":["../../src/service/oauth2.ts"],"names":[],"mappings":";;;AACA,mDAAgD;AAChD,+CAAoD;AACpD,
|
|
1
|
+
{"version":3,"file":"oauth2.js","sourceRoot":"","sources":["../../src/service/oauth2.ts"],"names":[],"mappings":";;;AACA,mDAAgD;AAChD,+CAAoD;AACpD,6EAA0G;AAS1G,MAAa,aAAa;IAChB,OAAO,CAAgB;IACd,UAAU,CAAS;IAEpC;;;OAGG;IACH,SAAS;QACP,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC;IAC7B,CAAC;IAED,YAAY,UAAkB,EAAE,OAAe,EAAE,UAA2B;QAC1E,IAAI,CAAC,UAAU,GAAG,UAAU,CAAC;QAE7B,uDAAuD;QACvD,MAAM,OAAO,GAAG,UAAU,IAAI,IAAI,6CAAsB,EAAE,CAAC;QAE3D,IAAI,CAAC,OAAO,GAAG,IAAI,6BAAa,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,gBAAgB,CAAC,IAAY,EAAE,MAA4B;QACzD,IAAI,CAAC,OAAO,CAAC,gBAAgB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAC9C,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,OAAe;QACrD,OAAO,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,KAAa;QAC9C,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,QAAgB,EAAE,OAAe;QACpD,OAAO,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACxD,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,QAAgB,EAAE,OAAe;QACjD,OAAO,IAAI,CAAC,OAAO,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,OAAe;QAKhC,MAAM,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE,CAAC;QACjD,MAAM,SAAS,GAAG,MAAM,OAAO,CAAC,GAAG,CACjC,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,GAAG,CAAC,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,CAAC,EAAE,EAAE,CAAC,CAAC;YAC1D,IAAI;YACJ,MAAM,EAAE;gBACN,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,gBAAgB,EAAE,MAAM,CAAC,gBAAgB;gBACzC,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,aAAa,EAAE,MAAM,CAAC,aAAa;aACpC;YACD,SAAS,EAAE,MAAM,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,IAAI,EAAE,OAAO,CAAC;SAC5D,CAAC,CAAC,CACJ,CAAC;QACF,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,2DAA2D;IAC3D,KAAK,CAAC,WAAW,CAAC,IAAe;QAC/B,OAAO,MAAM,IAAA,uBAAQ,EAAC,IAAI,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,KAAa;QAC7B,OAAO,MAAM,IAAA,yBAAU,EAAC,KAAK,EAAE,EAAE,QAAQ,EAAE,IAAI,CAAC,UAAU,EAAE,CAAC,CAAC;IAChE,CAAC;CACF;AAxED,sCAwEC"}
|
|
@@ -26,6 +26,7 @@ export declare class OAuth2Manager {
|
|
|
26
26
|
hasValidTokens(provider: string, agentId: string): Promise<boolean>;
|
|
27
27
|
/**
|
|
28
28
|
* Get tokens for an agent and provider
|
|
29
|
+
* @returns The OAuth2 tokens or null if not found
|
|
29
30
|
*/
|
|
30
31
|
getTokens(provider: string, agentId: string): Promise<OAuth2Tokens | null>;
|
|
31
32
|
/**
|
|
@@ -43,6 +44,7 @@ export declare class OAuth2Manager {
|
|
|
43
44
|
/**
|
|
44
45
|
* Get all accounts (tokens) for a user and provider with auto-refresh
|
|
45
46
|
* This method ensures expired tokens are refreshed before returning
|
|
47
|
+
* @returns Array of stored tokens for the user and provider
|
|
46
48
|
*/
|
|
47
49
|
getAccounts(provider: string, agentId: string): Promise<StoredToken[]>;
|
|
48
50
|
}
|
|
@@ -87,6 +87,7 @@ class OAuth2Manager {
|
|
|
87
87
|
}
|
|
88
88
|
/**
|
|
89
89
|
* Get tokens for an agent and provider
|
|
90
|
+
* @returns The OAuth2 tokens or null if not found
|
|
90
91
|
*/
|
|
91
92
|
async getTokens(provider, agentId) {
|
|
92
93
|
try {
|
|
@@ -125,15 +126,17 @@ class OAuth2Manager {
|
|
|
125
126
|
/**
|
|
126
127
|
* Get all accounts (tokens) for a user and provider with auto-refresh
|
|
127
128
|
* This method ensures expired tokens are refreshed before returning
|
|
129
|
+
* @returns Array of stored tokens for the user and provider
|
|
128
130
|
*/
|
|
129
131
|
async getAccounts(provider, agentId) {
|
|
130
132
|
try {
|
|
131
133
|
// First, try to refresh any expired tokens
|
|
132
134
|
// The queryTokens method in OAuth2Client will handle auto-refresh
|
|
133
|
-
const
|
|
135
|
+
const query = {
|
|
134
136
|
userId: agentId,
|
|
135
137
|
provider: provider
|
|
136
|
-
}
|
|
138
|
+
};
|
|
139
|
+
const tokens = await this.client.queryTokens(query);
|
|
137
140
|
return tokens;
|
|
138
141
|
}
|
|
139
142
|
catch (error) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"oauth2Manager.js","sourceRoot":"","sources":["../../src/service/oauth2Manager.ts"],"names":[],"mappings":";;;AAAA,
|
|
1
|
+
{"version":3,"file":"oauth2Manager.js","sourceRoot":"","sources":["../../src/service/oauth2Manager.ts"],"names":[],"mappings":"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"}
|