@arcblock/did-connect-js 1.29.22 → 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 -106
- 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 -120
- 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 -760
- 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 -123
- 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,48 @@
|
|
|
1
|
+
import { EventEmitter } from 'node:events';
|
|
2
|
+
import omit from 'lodash/omit';
|
|
3
|
+
import { PROTECTED_KEYS } from '../protocol.js';
|
|
4
|
+
class BaseHandler extends EventEmitter {
|
|
5
|
+
authenticator;
|
|
6
|
+
tokenStorage;
|
|
7
|
+
pathTransformer;
|
|
8
|
+
onConnect;
|
|
9
|
+
/**
|
|
10
|
+
* Creates an instance of DID Auth Handlers.
|
|
11
|
+
*
|
|
12
|
+
* @class
|
|
13
|
+
* @param {object} config
|
|
14
|
+
* @param {function} config.pathTransformer - function to transform path when generate action;
|
|
15
|
+
* @param {object} config.tokenStorage - function to generate action token
|
|
16
|
+
* @param {object} config.authenticator - Authenticator instance that can to jwt sign/verify
|
|
17
|
+
* @param {function} [config.onConnect=noop] - function called when wallet selected did
|
|
18
|
+
*/
|
|
19
|
+
constructor({ pathTransformer, tokenStorage, authenticator, onConnect, }) {
|
|
20
|
+
super();
|
|
21
|
+
this.authenticator = authenticator;
|
|
22
|
+
this.tokenStorage = tokenStorage;
|
|
23
|
+
// Handle events from Auth Token Storage
|
|
24
|
+
this.tokenStorage.on('create', (data) => this.emit('created', data));
|
|
25
|
+
this.tokenStorage.on('destroy', (token) => this.emit('deleted', { token }));
|
|
26
|
+
this.tokenStorage.on('update', async (data) => {
|
|
27
|
+
if (!data) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
const payload = await this.tokenStorage.read(data.token);
|
|
31
|
+
this.emit('updated', omit(payload, PROTECTED_KEYS));
|
|
32
|
+
});
|
|
33
|
+
if (typeof pathTransformer === 'function') {
|
|
34
|
+
this.pathTransformer = pathTransformer;
|
|
35
|
+
}
|
|
36
|
+
else {
|
|
37
|
+
this.pathTransformer = (v) => v;
|
|
38
|
+
}
|
|
39
|
+
if (typeof onConnect === 'function') {
|
|
40
|
+
this.onConnect = onConnect;
|
|
41
|
+
}
|
|
42
|
+
else {
|
|
43
|
+
this.onConnect = () => { };
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
export default BaseHandler;
|
|
48
|
+
//# sourceMappingURL=base.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/handlers/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,IAAI,MAAM,aAAa,CAAC;AAE/B,OAAO,EAAE,cAAc,EAAE,MAAM,gBAAgB,CAAC;AAEhD,MAAM,WAAY,SAAQ,YAAY;IACpC,aAAa,CAAM;IACnB,YAAY,CAAM;IAClB,eAAe,CAAwB;IACvC,SAAS,CAA0B;IAEnC;;;;;;;;;OASG;IACH,YAAY,EACV,eAAe,EACf,YAAY,EACZ,aAAa,EACb,SAAS,GAMV;QACC,KAAK,EAAE,CAAC;QAER,IAAI,CAAC,aAAa,GAAG,aAAa,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;QAEjC,wCAAwC;QACxC,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAS,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,CAAC,CAAC;QAC1E,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,SAAS,EAAE,CAAC,KAAa,EAAE,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,CAAC;QACpF,IAAI,CAAC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,KAAK,EAAE,IAAS,EAAE,EAAE;YACjD,IAAI,CAAC,IAAI,EAAE,CAAC;gBACV,OAAO;YACT,CAAC;YAED,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;YACzD,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,CAAC,OAAO,EAAE,cAAc,CAAC,CAAC,CAAC;QACtD,CAAC,CAAC,CAAC;QAEH,IAAI,OAAO,eAAe,KAAK,UAAU,EAAE,CAAC;YAC1C,IAAI,CAAC,eAAe,GAAG,eAAe,CAAC;QACzC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,eAAe,GAAG,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC;QAClC,CAAC;QAED,IAAI,OAAO,SAAS,KAAK,UAAU,EAAE,CAAC;YACpC,IAAI,CAAC,SAAS,GAAG,SAAS,CAAC;QAC7B,CAAC;aAAM,CAAC;YACN,IAAI,CAAC,SAAS,GAAG,GAAG,EAAE,GAAE,CAAC,CAAC;QAC5B,CAAC;IACH,CAAC;CACF;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,48 @@
|
|
|
1
|
+
import type { ConnectRequest, ConnectResponse, NextFunction } from '../types.js';
|
|
2
|
+
export declare const errors: Record<string, Record<string, string>>;
|
|
3
|
+
export declare const preparePathname: (path: string, req: ConnectRequest) => string;
|
|
4
|
+
export declare const prepareBaseUrl: (req: ConnectRequest, params?: Record<string, any>) => string;
|
|
5
|
+
export declare const getStepChallenge: () => any;
|
|
6
|
+
export declare const parseWalletUA: (userAgent: string) => {
|
|
7
|
+
os: string;
|
|
8
|
+
version: string;
|
|
9
|
+
jwt: string;
|
|
10
|
+
};
|
|
11
|
+
export declare const isDeepLink: (str: string) => boolean;
|
|
12
|
+
export declare const isConnectedOnly: (params: any, sessionUserDid?: string) => boolean | string;
|
|
13
|
+
export interface CreateHandlersOptions {
|
|
14
|
+
action: string;
|
|
15
|
+
pathname: string;
|
|
16
|
+
claims: any;
|
|
17
|
+
onStart: (...args: any[]) => any;
|
|
18
|
+
onConnect: (...args: any[]) => any;
|
|
19
|
+
onAuth: (...args: any[]) => any;
|
|
20
|
+
onDecline: (...args: any[]) => any;
|
|
21
|
+
onComplete: (...args: any[]) => any;
|
|
22
|
+
onExpire: (...args: any[]) => any;
|
|
23
|
+
onError: (...args: any[]) => any;
|
|
24
|
+
pathTransformer: (v: string) => string;
|
|
25
|
+
tokenStorage: any;
|
|
26
|
+
authenticator: any;
|
|
27
|
+
authPrincipal: any;
|
|
28
|
+
persistentDynamicClaims?: boolean;
|
|
29
|
+
getSignParams?: (req: ConnectRequest) => any;
|
|
30
|
+
getPathName?: (pathname: string, req: ConnectRequest) => string;
|
|
31
|
+
options: {
|
|
32
|
+
tokenKey: string;
|
|
33
|
+
encKey: string;
|
|
34
|
+
versionKey: string;
|
|
35
|
+
cleanupDelay: number;
|
|
36
|
+
};
|
|
37
|
+
}
|
|
38
|
+
export default function createHandlers({ action, pathname, claims, onStart, onConnect, onAuth, onDecline, onComplete, onExpire, onError, pathTransformer, tokenStorage, authenticator, authPrincipal, persistentDynamicClaims, getSignParams, getPathName, options, }: CreateHandlersOptions): {
|
|
39
|
+
generateSession: (req: ConnectRequest, res: ConnectResponse) => Promise<void>;
|
|
40
|
+
expireSession: (req: ConnectRequest, res: ConnectResponse) => Promise<void>;
|
|
41
|
+
checkSession: (req: ConnectRequest, res: ConnectResponse) => Promise<void>;
|
|
42
|
+
onAuthRequest: (req: ConnectRequest, res: ConnectResponse) => Promise<void>;
|
|
43
|
+
onAuthResponse: (req: ConnectRequest, res: ConnectResponse) => Promise<void>;
|
|
44
|
+
ensureContext: (req: ConnectRequest, _res: ConnectResponse, next: NextFunction) => Promise<void>;
|
|
45
|
+
ensureSignedJson: (req: ConnectRequest, res: ConnectResponse, next: NextFunction) => void;
|
|
46
|
+
createExtraParams: (locale: string, params: any, extra?: any) => any;
|
|
47
|
+
};
|
|
48
|
+
//# sourceMappingURL=util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"util.d.ts","sourceRoot":"","sources":["../../src/handlers/util.ts"],"names":[],"mappings":"AAiBA,OAAO,KAAK,EAAE,cAAc,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AA4BjF,eAAO,MAAM,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAyCzD,CAAC;AAOF,eAAO,MAAM,eAAe,GAAI,MAAM,MAAM,EAAE,KAAK,cAAc,WAOhE,CAAC;AAWF,eAAO,MAAM,cAAc,GAAI,KAAK,cAAc,EAAE,SAAS,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,WAiB/E,CAAC;AAMF,eAAO,MAAM,gBAAgB,WAAiE,CAAC;AAE/F,eAAO,MAAM,aAAa,GAAI,WAAW,MAAM;;;;CA4B9C,CAAC;AAEF,eAAO,MAAM,UAAU,GAAI,KAAK,MAAM,YACkD,CAAC;AAGzF,eAAO,MAAM,eAAe,GAAI,QAAQ,GAAG,EAAE,uBAAmB,KAAG,OAAO,GAAG,MAgC5E,CAAC;AAEF,MAAM,WAAW,qBAAqB;IACpC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,MAAM,EAAE,GAAG,CAAC;IACZ,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IACjC,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IACnC,MAAM,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IAChC,SAAS,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IACnC,UAAU,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IACpC,QAAQ,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IAClC,OAAO,EAAE,CAAC,GAAG,IAAI,EAAE,GAAG,EAAE,KAAK,GAAG,CAAC;IACjC,eAAe,EAAE,CAAC,CAAC,EAAE,MAAM,KAAK,MAAM,CAAC;IACvC,YAAY,EAAE,GAAG,CAAC;IAClB,aAAa,EAAE,GAAG,CAAC;IACnB,aAAa,EAAE,GAAG,CAAC;IACnB,uBAAuB,CAAC,EAAE,OAAO,CAAC;IAClC,aAAa,CAAC,EAAE,CAAC,GAAG,EAAE,cAAc,KAAK,GAAG,CAAC;IAC7C,WAAW,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,KAAK,MAAM,CAAC;IAChE,OAAO,EAAE;QACP,QAAQ,EAAE,MAAM,CAAC;QACjB,MAAM,EAAE,MAAM,CAAC;QACf,UAAU,EAAE,MAAM,CAAC;QACnB,YAAY,EAAE,MAAM,CAAC;KACtB,CAAC;CACH;AAGD,MAAM,CAAC,OAAO,UAAU,cAAc,CAAC,EACrC,MAAM,EACN,QAAQ,EACR,MAAM,EACN,OAAO,EACP,SAAS,EACT,MAAM,EACN,SAAS,EACT,UAAU,EACV,QAAQ,EACR,OAAO,EACP,eAAe,EACf,YAAY,EACZ,aAAa,EACb,aAAa,EACb,uBAA+B,EAC/B,aAAoB,EACpB,WAAqB,EACrB,OAAO,GACR,EAAE,qBAAqB;2BAgIc,cAAc,OAAO,eAAe;yBAoItC,cAAc,OAAO,eAAe;wBA9CrC,cAAc,OAAO,eAAe;yBA8FnC,cAAc,OAAO,eAAe;0BAwFnC,cAAc,OAAO,eAAe;yBA2OrC,cAAc,QAAQ,eAAe,QAAQ,YAAY;4BA6B5D,cAAc,OAAO,eAAe,QAAQ,YAAY;gCAvlBpD,MAAM,UAAU,GAAG,UAAS,GAAG;EA6oBnE"}
|