@arcblock/did-connect-js 1.29.23 → 4.0.0-beta.1
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/{lib/adapters/detect.d.cts → dist/adapters/detect.d.ts} +3 -5
- package/dist/adapters/detect.d.ts.map +1 -0
- package/dist/adapters/detect.js +13 -0
- package/dist/adapters/detect.js.map +1 -0
- package/dist/adapters/express.d.ts +40 -0
- package/dist/adapters/express.d.ts.map +1 -0
- package/dist/adapters/express.js +30 -0
- package/dist/adapters/express.js.map +1 -0
- package/dist/adapters/hono.d.ts +49 -0
- package/dist/adapters/hono.d.ts.map +1 -0
- package/dist/adapters/hono.js +176 -0
- package/dist/adapters/hono.js.map +1 -0
- package/dist/authenticator/base.d.ts +21 -0
- package/dist/authenticator/base.d.ts.map +1 -0
- package/dist/authenticator/base.js +109 -0
- package/dist/authenticator/base.js.map +1 -0
- package/dist/authenticator/wallet.d.ts +221 -0
- package/dist/authenticator/wallet.d.ts.map +1 -0
- package/dist/authenticator/wallet.js +588 -0
- package/dist/authenticator/wallet.js.map +1 -0
- package/dist/handlers/base.d.ts +25 -0
- package/dist/handlers/base.d.ts.map +1 -0
- package/dist/handlers/base.js +48 -0
- package/dist/handlers/base.js.map +1 -0
- package/dist/handlers/util.d.ts +48 -0
- package/dist/handlers/util.d.ts.map +1 -0
- package/dist/handlers/util.js +812 -0
- package/dist/handlers/util.js.map +1 -0
- package/dist/handlers/wallet.d.ts +96 -0
- package/dist/handlers/wallet.d.ts.map +1 -0
- package/dist/handlers/wallet.js +129 -0
- package/dist/handlers/wallet.js.map +1 -0
- package/dist/index.d.ts +10 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -0
- package/dist/protocol.d.ts +14 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +37 -0
- package/dist/protocol.js.map +1 -0
- package/dist/schema/claims.d.ts +17 -0
- package/dist/schema/claims.d.ts.map +1 -0
- package/dist/schema/claims.js +205 -0
- package/dist/schema/claims.js.map +1 -0
- package/dist/schema/index.d.ts +7 -0
- package/dist/schema/index.d.ts.map +1 -0
- package/dist/schema/index.js +49 -0
- package/dist/schema/index.js.map +1 -0
- package/dist/storage/kv.d.ts +31 -0
- package/dist/storage/kv.d.ts.map +1 -0
- package/dist/storage/kv.js +54 -0
- package/dist/storage/kv.js.map +1 -0
- package/dist/types.d.ts +53 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +2 -0
- package/dist/types.js.map +1 -0
- package/package.json +48 -104
- package/LICENSE +0 -13
- package/README.md +0 -210
- package/esm/_virtual/rolldown_runtime.mjs +0 -8
- package/esm/adapters/detect.d.mts +0 -11
- package/esm/adapters/detect.mjs +0 -16
- package/esm/adapters/express.d.mts +0 -48
- package/esm/adapters/express.mjs +0 -39
- package/esm/adapters/hono.d.mts +0 -57
- package/esm/adapters/hono.mjs +0 -164
- package/esm/authenticator/base.d.mts +0 -23
- package/esm/authenticator/base.mjs +0 -88
- package/esm/authenticator/wallet.d.mts +0 -270
- package/esm/authenticator/wallet.mjs +0 -556
- package/esm/handlers/base.d.mts +0 -32
- package/esm/handlers/base.mjs +0 -37
- package/esm/handlers/util.d.mts +0 -70
- package/esm/handlers/util.mjs +0 -739
- package/esm/handlers/wallet.d.mts +0 -120
- package/esm/handlers/wallet.mjs +0 -139
- package/esm/index.d.mts +0 -8
- package/esm/index.mjs +0 -8
- package/esm/package.mjs +0 -118
- package/esm/protocol.d.mts +0 -15
- package/esm/protocol.mjs +0 -40
- package/esm/schema/claims.d.mts +0 -18
- package/esm/schema/claims.mjs +0 -154
- package/esm/schema/index.d.mts +0 -9
- package/esm/schema/index.mjs +0 -49
- package/esm/storage/kv.d.mts +0 -33
- package/esm/storage/kv.mjs +0 -55
- package/esm/types.d.mts +0 -55
- package/esm/types.mjs +0 -1
- package/lib/_virtual/rolldown_runtime.cjs +0 -31
- package/lib/adapters/detect.cjs +0 -18
- package/lib/adapters/express.cjs +0 -41
- package/lib/adapters/express.d.cts +0 -48
- package/lib/adapters/hono.cjs +0 -167
- package/lib/adapters/hono.d.cts +0 -57
- package/lib/authenticator/base.cjs +0 -91
- package/lib/authenticator/base.d.cts +0 -23
- package/lib/authenticator/wallet.cjs +0 -564
- package/lib/authenticator/wallet.d.cts +0 -270
- package/lib/handlers/base.cjs +0 -40
- package/lib/handlers/base.d.cts +0 -32
- package/lib/handlers/util.cjs +0 -759
- package/lib/handlers/util.d.cts +0 -70
- package/lib/handlers/wallet.cjs +0 -139
- package/lib/handlers/wallet.d.cts +0 -119
- package/lib/index.cjs +0 -16
- package/lib/index.d.cts +0 -8
- package/lib/package.cjs +0 -121
- package/lib/protocol.cjs +0 -46
- package/lib/protocol.d.cts +0 -15
- package/lib/schema/claims.cjs +0 -156
- package/lib/schema/claims.d.cts +0 -18
- package/lib/schema/index.cjs +0 -52
- package/lib/schema/index.d.cts +0 -9
- package/lib/storage/kv.cjs +0 -57
- package/lib/storage/kv.d.cts +0 -33
- package/lib/types.cjs +0 -0
- package/lib/types.d.cts +0 -55
|
@@ -0,0 +1,221 @@
|
|
|
1
|
+
import BaseAuthenticator from './base.js';
|
|
2
|
+
export interface ApplicationInfo {
|
|
3
|
+
name: string;
|
|
4
|
+
description: string;
|
|
5
|
+
icon: string;
|
|
6
|
+
link?: string;
|
|
7
|
+
path?: string;
|
|
8
|
+
publisher?: string;
|
|
9
|
+
}
|
|
10
|
+
export interface ChainInfo {
|
|
11
|
+
id: string;
|
|
12
|
+
type: string;
|
|
13
|
+
host: string;
|
|
14
|
+
}
|
|
15
|
+
export interface WalletAuthenticatorConfig {
|
|
16
|
+
wallet: any;
|
|
17
|
+
appInfo: ApplicationInfo | ((params: any) => ApplicationInfo | Promise<ApplicationInfo>);
|
|
18
|
+
memberAppInfo?: ApplicationInfo | ((params: any) => ApplicationInfo | Promise<ApplicationInfo>) | null;
|
|
19
|
+
delegator?: any;
|
|
20
|
+
delegation?: string | ((params: any) => string | Promise<string>);
|
|
21
|
+
timeout?: number;
|
|
22
|
+
chainInfo?: ChainInfo | ((params: any) => ChainInfo | Promise<ChainInfo>);
|
|
23
|
+
baseUrl?: string;
|
|
24
|
+
tokenKey?: string;
|
|
25
|
+
}
|
|
26
|
+
declare class WalletAuthenticator extends BaseAuthenticator {
|
|
27
|
+
wallet: any;
|
|
28
|
+
appInfo: any;
|
|
29
|
+
memberAppInfo: any;
|
|
30
|
+
chainInfo: any;
|
|
31
|
+
delegator: any;
|
|
32
|
+
delegation: any;
|
|
33
|
+
baseUrl: string;
|
|
34
|
+
tokenKey: string;
|
|
35
|
+
timeout: number;
|
|
36
|
+
static formatDisplay(display: any): string;
|
|
37
|
+
/**
|
|
38
|
+
* Creates an instance of DID Authenticator.
|
|
39
|
+
*
|
|
40
|
+
* @class
|
|
41
|
+
* @param {object} config
|
|
42
|
+
* @param {WalletObject|Function} config.wallet - wallet instance {@see @ocap/wallet} or a function that returns wallet instance
|
|
43
|
+
* @param {WalletObject|Function} [config.delegator] - the party that authorizes `wallet` to perform actions on behalf of `wallet`
|
|
44
|
+
* @param {string|Function} [config.delegation] - the jwt token that proves delegation relationship
|
|
45
|
+
* @param {ApplicationInfo|Function} config.appInfo - application basic info or a function that returns application info
|
|
46
|
+
* @param {ChainInfo|Function} config.chainInfo - application chain info or a function that returns chain info
|
|
47
|
+
* @param {Number} [config.timeout=8000] - timeout in milliseconds when generating claim
|
|
48
|
+
* @param {object} [config.baseUrl] - url to assemble wallet request uri, can be inferred from request object
|
|
49
|
+
* @param {string} [config.tokenKey='_t_'] - query param key for `token`
|
|
50
|
+
*/
|
|
51
|
+
constructor({ wallet, appInfo, memberAppInfo, delegator, delegation, timeout, chainInfo, baseUrl, tokenKey, }: WalletAuthenticatorConfig);
|
|
52
|
+
/**
|
|
53
|
+
* Generate a deep link url that can be displayed as QRCode for DID Wallet to consume
|
|
54
|
+
*
|
|
55
|
+
* @method
|
|
56
|
+
* @param {object} params
|
|
57
|
+
* @param {string} params.baseUrl - baseUrl inferred from request object
|
|
58
|
+
* @param {string} params.pathname - wallet callback pathname
|
|
59
|
+
* @param {string} params.token - action token
|
|
60
|
+
* @param {object} params.query - params that should be persisted in wallet callback url
|
|
61
|
+
* @returns {string}
|
|
62
|
+
*/
|
|
63
|
+
uri({ baseUrl, pathname, token, query, }?: {
|
|
64
|
+
baseUrl?: string;
|
|
65
|
+
pathname?: string;
|
|
66
|
+
token?: string;
|
|
67
|
+
query?: Record<string, any>;
|
|
68
|
+
}): string;
|
|
69
|
+
/**
|
|
70
|
+
* Compute public url to return to wallet
|
|
71
|
+
*
|
|
72
|
+
* @method
|
|
73
|
+
* @param {string} pathname
|
|
74
|
+
* @param {object} params
|
|
75
|
+
* @returns {string}
|
|
76
|
+
*/
|
|
77
|
+
getPublicUrl(pathname: string, params?: Record<string, any>, baseUrl?: string): string;
|
|
78
|
+
/**
|
|
79
|
+
* Sign a plain response, usually on auth success or error
|
|
80
|
+
*
|
|
81
|
+
* @method
|
|
82
|
+
* @param {object} params
|
|
83
|
+
* @param {object} params.response - response
|
|
84
|
+
* @param {string} params.errorMessage - error message, default to empty
|
|
85
|
+
* @param {string} params.successMessage - success message, default to empty
|
|
86
|
+
* @param {string} params.nextWorkflow - https://github.com/ArcBlock/ABT-DID-Protocol#concatenate-multiple-workflow
|
|
87
|
+
* @param {string} params.nextUrl - tell wallet do open this url in webview
|
|
88
|
+
* @param {object} params.cookies - key-value pairs to be set as cookie before open nextUrl
|
|
89
|
+
* @param {object} params.storages - key-value pairs to be set as localStorage before open nextUrl
|
|
90
|
+
* @param {string} baseUrl
|
|
91
|
+
* @param {object} request
|
|
92
|
+
* @returns {Promise<object>} { appPk, agentPk, authInfo }
|
|
93
|
+
*/
|
|
94
|
+
signResponse({ response, errorMessage, successMessage, nextWorkflow, nextUrl, cookies, storages, }: {
|
|
95
|
+
response?: any;
|
|
96
|
+
errorMessage?: string;
|
|
97
|
+
successMessage?: string;
|
|
98
|
+
nextWorkflow?: string;
|
|
99
|
+
nextUrl?: string;
|
|
100
|
+
cookies?: Record<string, any>;
|
|
101
|
+
storages?: any;
|
|
102
|
+
}, baseUrl: string, request: any, extraParams?: Record<string, any>): Promise<any>;
|
|
103
|
+
/**
|
|
104
|
+
* Sign a auth response that returned to wallet: tell the wallet the appInfo/chainInfo
|
|
105
|
+
*
|
|
106
|
+
* @method
|
|
107
|
+
* @param {object} params
|
|
108
|
+
* @param {object} params.claims - info required by application to complete the auth
|
|
109
|
+
* @param {string} params.pathname - pathname to assemble callback url
|
|
110
|
+
* @param {string} params.baseUrl - baseUrl
|
|
111
|
+
* @param {object} params.challenge - random challenge to be included in the body
|
|
112
|
+
* @param {object} params.extraParams - extra query params and locale
|
|
113
|
+
* @param {object} params.request
|
|
114
|
+
* @param {object} params.context
|
|
115
|
+
* @param {string} params.context.token - action token
|
|
116
|
+
* @param {number} params.context.currentStep - current step
|
|
117
|
+
* @param {string} [params.context.sharedKey] - shared key between app and wallet
|
|
118
|
+
* @param {string} [params.context.encryptionKey] - encryption key from wallet
|
|
119
|
+
* @param {Function} [params.context.mfaCode] - function used to generate mfa code
|
|
120
|
+
* @param {string} params.context.userDid - decoded from req.query, base58
|
|
121
|
+
* @param {string} params.context.userPk - decoded from req.query, base58
|
|
122
|
+
* @param {string} params.context.didwallet - DID Wallet os and version
|
|
123
|
+
* @returns {Promise<object>} { appPk, agentPk, sharedKey, authInfo }
|
|
124
|
+
*/
|
|
125
|
+
sign({ context, request, claims, pathname, baseUrl, challenge, extraParams, }: {
|
|
126
|
+
context: any;
|
|
127
|
+
request: any;
|
|
128
|
+
claims: any;
|
|
129
|
+
pathname?: string;
|
|
130
|
+
baseUrl?: string;
|
|
131
|
+
challenge?: string;
|
|
132
|
+
extraParams?: Record<string, any>;
|
|
133
|
+
}): Promise<any>;
|
|
134
|
+
/**
|
|
135
|
+
* Determine chainInfo on the fly
|
|
136
|
+
*
|
|
137
|
+
* @param {object} params - contains the context of this request
|
|
138
|
+
* @param {object|undefined} [info=undefined] - chain info object or function
|
|
139
|
+
* @returns {Promise<ChainInfo>}
|
|
140
|
+
* @memberof WalletAuthenticator
|
|
141
|
+
*/
|
|
142
|
+
getChainInfo(params: any, info?: any): Promise<ChainInfo>;
|
|
143
|
+
/**
|
|
144
|
+
* Determine appInfo/memberAppInfo on the fly
|
|
145
|
+
*
|
|
146
|
+
* @param {object} params - contains the context of this request
|
|
147
|
+
* @param {string} key - appInfo | memberAppInfo
|
|
148
|
+
* @returns {Promise<ApplicationInfo>}
|
|
149
|
+
* @memberof WalletAuthenticator
|
|
150
|
+
*/
|
|
151
|
+
getAppInfo(params: any, key?: 'appInfo' | 'memberAppInfo'): Promise<any>;
|
|
152
|
+
getWalletInfo(params: any): Promise<any>;
|
|
153
|
+
getDelegator(params: any): Promise<any>;
|
|
154
|
+
getDelegation(params: any): Promise<any>;
|
|
155
|
+
/**
|
|
156
|
+
* Verify a DID auth response sent from DID Wallet
|
|
157
|
+
*
|
|
158
|
+
* @method
|
|
159
|
+
* @param {object} data
|
|
160
|
+
* @param {string} [locale=en]
|
|
161
|
+
* @param {boolean} [enforceTimestamp=true]
|
|
162
|
+
* @returns Promise<boolean>
|
|
163
|
+
*/
|
|
164
|
+
verify(data: any, locale?: string, enforceTimestamp?: boolean): Promise<{
|
|
165
|
+
token: any;
|
|
166
|
+
userDid: string;
|
|
167
|
+
userPk: any;
|
|
168
|
+
claims: any;
|
|
169
|
+
action: any;
|
|
170
|
+
challenge: any;
|
|
171
|
+
timestamp: string;
|
|
172
|
+
}>;
|
|
173
|
+
genRequestedClaims({ claims, context, extraParams, }: {
|
|
174
|
+
claims: any;
|
|
175
|
+
context: any;
|
|
176
|
+
extraParams: Record<string, any>;
|
|
177
|
+
}): Promise<any[]>;
|
|
178
|
+
getClaimInfo({ claim, context, extraParams, }: {
|
|
179
|
+
claim: any;
|
|
180
|
+
context: any;
|
|
181
|
+
extraParams: Record<string, any>;
|
|
182
|
+
}): Promise<any>;
|
|
183
|
+
signature({ claim, context, extraParams, }: {
|
|
184
|
+
claim: any;
|
|
185
|
+
context: any;
|
|
186
|
+
extraParams: Record<string, any>;
|
|
187
|
+
}): Promise<{
|
|
188
|
+
type: string;
|
|
189
|
+
description: any;
|
|
190
|
+
origin: string;
|
|
191
|
+
typeUrl: any;
|
|
192
|
+
display: string;
|
|
193
|
+
method: any;
|
|
194
|
+
digest: any;
|
|
195
|
+
chainInfo: any;
|
|
196
|
+
meta: any;
|
|
197
|
+
mfa: any;
|
|
198
|
+
nonce: any;
|
|
199
|
+
requirement: any;
|
|
200
|
+
}>;
|
|
201
|
+
prepareTx({ claim, context, extraParams, }: {
|
|
202
|
+
claim: any;
|
|
203
|
+
context: any;
|
|
204
|
+
extraParams: Record<string, any>;
|
|
205
|
+
}): Promise<{
|
|
206
|
+
type: string;
|
|
207
|
+
description: any;
|
|
208
|
+
partialTx: string;
|
|
209
|
+
display: string;
|
|
210
|
+
requirement: any;
|
|
211
|
+
chainInfo: any;
|
|
212
|
+
meta: any;
|
|
213
|
+
mfa: any;
|
|
214
|
+
nonce: any;
|
|
215
|
+
}>;
|
|
216
|
+
_validateAppInfo(info: any, allowEmpty?: boolean): any;
|
|
217
|
+
_isValidChainInfo(x: any): boolean;
|
|
218
|
+
tryWithTimeout<T>(asyncFn: () => Promise<T>, label?: string): Promise<T>;
|
|
219
|
+
}
|
|
220
|
+
export default WalletAuthenticator;
|
|
221
|
+
//# sourceMappingURL=wallet.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"wallet.d.ts","sourceRoot":"","sources":["../../src/authenticator/wallet.ts"],"names":[],"mappings":"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"}
|