@sphereon/ssi-sdk.uni-resolver-registrar-api 0.13.1-next.32 → 0.14.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/README.md CHANGED
@@ -11,6 +11,7 @@
11
11
  **Warning: This package is in early development. Breaking changes without notice will happen at this point!**
12
12
 
13
13
  ---
14
+
14
15
  This module provides a DIF Universal Resolver and Universal Registrar API, to allow DIDs managed by the agent to be
15
16
  resolved using standardized APIs, as well as to create and manage new DIDs using the registrar APIs.
16
17
 
@@ -71,12 +72,8 @@ curl -X GET\
71
72
  }
72
73
  }
73
74
  ],
74
- "authentication": [
75
- "did:web:ddip.sphereon.com#JWK2020-RSA"
76
- ],
77
- "assertionMethod": [
78
- "did:web:ddip.sphereon.com#JWK2020-RSA"
79
- ],
75
+ "authentication": ["did:web:ddip.sphereon.com#JWK2020-RSA"],
76
+ "assertionMethod": ["did:web:ddip.sphereon.com#JWK2020-RSA"],
80
77
  "service": []
81
78
  }
82
79
  }
@@ -162,44 +159,43 @@ Note: You can have multiple instances of the UniResolverApiServer, as long as yo
162
159
  for each instance and that the same express is being used.
163
160
 
164
161
  ```typescript
165
-
166
162
  // agent is a configured SSI-SDK/Veramo agent (see below for an example)
167
163
 
168
164
  // Let's first build express to listen on port 5000
169
165
  const expressBuilder = ExpressBuilder.fromServerOpts({
170
- port: 5000,
171
- hostname: '0.0.0.0',
166
+ port: 5000,
167
+ hostname: '0.0.0.0',
172
168
  }).withPassportAuth(false)
173
- const expressArgs = expressBuilder.build({startListening: true})
169
+ const expressArgs = expressBuilder.build({ startListening: true })
174
170
 
175
171
  // Now create the Universal Resolver API, with DID resolution and persistence enabled and authentication disabled
176
172
  new UniResolverApiServer({
177
- opts: {
178
- enableFeatures: ['did-persist', 'did-resolve'],
179
- endpointOpts: {
180
- basePath: '/1.0', // Let's make sure the eventual path becomes <agent>/1.0/idenfitiers/<did>
181
- globalAuth: {
182
- authentication: {
183
- enabled: false
184
- },
185
- },
173
+ opts: {
174
+ enableFeatures: ['did-persist', 'did-resolve'],
175
+ endpointOpts: {
176
+ basePath: '/1.0', // Let's make sure the eventual path becomes <agent>/1.0/idenfitiers/<did>
177
+ globalAuth: {
178
+ authentication: {
179
+ enabled: false,
186
180
  },
181
+ },
187
182
  },
188
- expressArgs,
189
- agent,
183
+ },
184
+ expressArgs,
185
+ agent,
190
186
  })
191
187
  // At this point you can execute the example above, as the Uniresolver is now listening on port 5000
192
188
  ```
193
189
 
194
-
195
190
  ## DID Web Service
196
- This service hosts agent managed did:web DIDs at the appropriate locations as a did.json file. Meaning that whenever you hit
191
+
192
+ This service hosts agent managed did:web DIDs at the appropriate locations as a did.json file. Meaning that whenever you hit
197
193
  https://agent/.well-known/did.json or http://agent/example/path/test/did.json for instance, the agent will lookup the appropriate DID managed by the agent.
198
194
  If no DID is found for the URL, it will return the below response, with an HTTP code 404
199
195
 
200
196
  ```json
201
197
  {
202
- "error": "Not found"
198
+ "error": "Not found"
203
199
  }
204
200
  ```
205
201
 
@@ -246,46 +242,46 @@ these DID methods.
246
242
 
247
243
  ```typescript
248
244
  export const resolver = new Resolver({
249
- ...getDidWebResolver(),
250
- ...getDidKeyResolver(),
251
- ...getDidJwkResolver(),
252
- ...getDidIonResolver(),
245
+ ...getDidWebResolver(),
246
+ ...getDidKeyResolver(),
247
+ ...getDidJwkResolver(),
248
+ ...getDidIonResolver(),
253
249
  })
254
250
 
255
251
  export const didProviders = {
256
- [`did:web`]: new WebDIDProvider({
257
- defaultKms: 'local',
258
- }),
259
- [`did:key`]: new KeyDIDProvider({
260
- defaultKms: 'local',
261
- }),
262
- [`did:ion`]: new IonDIDProvider({
263
- defaultKms: 'local',
264
- }),
265
- [`did:jwk`]: new JwkDIDProvider({
266
- defaultKms: 'local',
267
- }),
252
+ [`did:web`]: new WebDIDProvider({
253
+ defaultKms: 'local',
254
+ }),
255
+ [`did:key`]: new KeyDIDProvider({
256
+ defaultKms: 'local',
257
+ }),
258
+ [`did:ion`]: new IonDIDProvider({
259
+ defaultKms: 'local',
260
+ }),
261
+ [`did:jwk`]: new JwkDIDProvider({
262
+ defaultKms: 'local',
263
+ }),
268
264
  }
269
265
 
270
266
  const agent = createAgent<IDIDManager & IKeyManager & IDataStore & IDataStoreORM & IResolver>({
271
- plugins: [
272
- new DataStore(dbConnection),
273
- new DataStoreORM(dbConnection),
274
- new KeyManager({
275
- store: new KeyStore(dbConnection),
276
- kms: {
277
- local: new KeyManagementSystem(privateKeyStore),
278
- },
279
- }),
280
- new DIDManager({
281
- store: new DIDStore(dbConnection),
282
- defaultProvider: 'did:jwk',
283
- providers: didProviders,
284
- }),
285
- new DIDResolverPlugin({
286
- resolver,
287
- }),
288
- ],
267
+ plugins: [
268
+ new DataStore(dbConnection),
269
+ new DataStoreORM(dbConnection),
270
+ new KeyManager({
271
+ store: new KeyStore(dbConnection),
272
+ kms: {
273
+ local: new KeyManagementSystem(privateKeyStore),
274
+ },
275
+ }),
276
+ new DIDManager({
277
+ store: new DIDStore(dbConnection),
278
+ defaultProvider: 'did:jwk',
279
+ providers: didProviders,
280
+ }),
281
+ new DIDResolverPlugin({
282
+ resolver,
283
+ }),
284
+ ],
289
285
  })
290
286
  ```
291
287
 
@@ -1 +1 @@
1
- {"version":3,"file":"api-functions.d.ts","sourceRoot":"","sources":["../src/api-functions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAY,mBAAmB,EAAoB,MAAM,mCAAmC,CAAA;AAGnG,OAAO,EAAoB,MAAM,EAAC,MAAM,SAAS,CAAA;AAEjD,OAAO,EAIH,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EACnB,MAAM,SAAS,CAAA;AAEhB,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,sBAAsB,QAgFzG;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,mBAAmB,QAe1G;AAsBD,wBAAgB,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,mBAAmB,GAAG;IACvG,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAA;CACvC,QA2BA;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,mBAAmB,QAsB1G;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,yBAAyB,QAoC/G"}
1
+ {"version":3,"file":"api-functions.d.ts","sourceRoot":"","sources":["../src/api-functions.ts"],"names":[],"mappings":"AAGA,OAAO,EAAa,mBAAmB,EAAqB,MAAM,mCAAmC,CAAA;AAGrG,OAAO,EAAqB,MAAM,EAAE,MAAM,SAAS,CAAA;AAEnD,OAAO,EAIL,sBAAsB,EACtB,yBAAyB,EACzB,gBAAgB,EACjB,MAAM,SAAS,CAAA;AAEhB,wBAAgB,iBAAiB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,sBAAsB,QAgFzG;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,mBAAmB,QAe1G;AAsBD,wBAAgB,kBAAkB,CAChC,MAAM,EAAE,MAAM,EACd,OAAO,EAAE,gBAAgB,EACzB,IAAI,CAAC,EAAE,mBAAmB,GAAG;IAC3B,IAAI,CAAC,EAAE,OAAO,GAAG,QAAQ,GAAG,QAAQ,CAAA;CACrC,QA4BF;AAED,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,mBAAmB,QAsB1G;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,gBAAgB,EAAE,IAAI,CAAC,EAAE,yBAAyB,QAoC/G"}
@@ -68,10 +68,10 @@ function createDidEndpoint(router, context, opts) {
68
68
  if (createRequest.options.storeSecrets === false) {
69
69
  return (0, ssi_sdk_express_support_1.sendErrorResponse)(response, 400, 'Only storeSecrets mode is supported currently');
70
70
  /*const memoryKMS = new SphereonKeyManager({
71
- store: new MemoryKeyStore(),
72
- kms: {'mem': new KeyManagementSystem(new MemoryPrivateKeyStore())}
73
- })
74
- identifier = await memoryKMS..didManagerCreate({provider, alias, kms: opts?.kms})*/
71
+ store: new MemoryKeyStore(),
72
+ kms: {'mem': new KeyManagementSystem(new MemoryPrivateKeyStore())}
73
+ })
74
+ identifier = await memoryKMS..didManagerCreate({provider, alias, kms: opts?.kms})*/
75
75
  }
76
76
  else if (createRequest.options.storeSecrets || (opts === null || opts === void 0 ? void 0 : opts.storeSecrets)) {
77
77
  identifier = yield context.agent.didManagerCreate({ provider, alias, kms: opts === null || opts === void 0 ? void 0 : opts.kms });
@@ -1 +1 @@
1
- {"version":3,"file":"api-functions.js","sourceRoot":"","sources":["../src/api-functions.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api-functions.js","sourceRoot":"","sources":["../src/api-functions.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@sphereon/ssi-sdk.uni-resolver-registrar-api",
3
- "version": "0.13.1-next.32+ba897de",
3
+ "version": "0.14.0",
4
4
  "source": "src/index.ts",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",
@@ -11,12 +11,12 @@
11
11
  "start:dev": "ts-node __tests__/agent.ts"
12
12
  },
13
13
  "dependencies": {
14
- "@sphereon/ssi-sdk-ext.did-utils": "0.12.2-next.12",
15
- "@sphereon/ssi-sdk-ext.key-manager": "0.12.2-next.12",
16
- "@sphereon/ssi-sdk-ext.key-utils": "0.12.2-next.12",
17
- "@sphereon/ssi-sdk.core": "0.13.1-next.32+ba897de",
18
- "@sphereon/ssi-sdk.express-support": "0.13.1-next.32+ba897de",
19
- "@sphereon/ssi-types": "0.13.1-next.32+ba897de",
14
+ "@sphereon/ssi-sdk-ext.did-utils": "0.13.0",
15
+ "@sphereon/ssi-sdk-ext.key-manager": "0.13.0",
16
+ "@sphereon/ssi-sdk-ext.key-utils": "0.13.0",
17
+ "@sphereon/ssi-sdk.core": "0.14.0",
18
+ "@sphereon/ssi-sdk.express-support": "0.14.0",
19
+ "@sphereon/ssi-types": "0.14.0",
20
20
  "@veramo/core": "4.2.0",
21
21
  "body-parser": "^1.19.0",
22
22
  "casbin": "^5.26.1",
@@ -30,10 +30,10 @@
30
30
  },
31
31
  "devDependencies": {
32
32
  "@sphereon/did-uni-client": "^0.6.0",
33
- "@sphereon/ssi-sdk-ext.did-provider-jwk": "0.12.2-next.12",
34
- "@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.12.2-next.12",
35
- "@sphereon/ssi-sdk.data-store": "0.13.1-next.32+ba897de",
36
- "@sphereon/ssi-sdk.vc-handler-ld-local": "0.13.1-next.32+ba897de",
33
+ "@sphereon/ssi-sdk-ext.did-provider-jwk": "0.13.0",
34
+ "@sphereon/ssi-sdk-ext.did-resolver-jwk": "0.13.0",
35
+ "@sphereon/ssi-sdk.data-store": "0.14.0",
36
+ "@sphereon/ssi-sdk.vc-handler-ld-local": "0.14.0",
37
37
  "@types/body-parser": "^1.19.2",
38
38
  "@types/cookie-parser": "^1.4.3",
39
39
  "@types/cors": "^2.8.13",
@@ -89,5 +89,5 @@
89
89
  "Inversal Registrar",
90
90
  "DIF"
91
91
  ],
92
- "gitHead": "ba897ded1b092dd7d21634cfb0de396a59d2e0d5"
92
+ "gitHead": "bf86b361a5e77883294ca1e4cecca616eb51633f"
93
93
  }
@@ -1,192 +1,196 @@
1
- import {DIDResolutionResult} from '@sphereon/did-uni-client'
2
- import {getAgentDIDMethods, toDidDocument, toDidResolutionResult} from '@sphereon/ssi-sdk-ext.did-utils'
3
- import {JwkKeyUse} from '@sphereon/ssi-sdk-ext.key-utils'
4
- import {checkAuth, ISingleEndpointOpts, sendErrorResponse} from '@sphereon/ssi-sdk.express-support'
5
- import {parseDid} from '@sphereon/ssi-types'
6
- import {IIdentifier} from '@veramo/core'
7
- import {Request, Response, Router} from 'express'
8
- import {v4} from 'uuid'
1
+ import { DIDResolutionResult } from '@sphereon/did-uni-client'
2
+ import { getAgentDIDMethods, toDidDocument, toDidResolutionResult } from '@sphereon/ssi-sdk-ext.did-utils'
3
+ import { JwkKeyUse } from '@sphereon/ssi-sdk-ext.key-utils'
4
+ import { checkAuth, ISingleEndpointOpts, sendErrorResponse } from '@sphereon/ssi-sdk.express-support'
5
+ import { parseDid } from '@sphereon/ssi-types'
6
+ import { IIdentifier } from '@veramo/core'
7
+ import { Request, Response, Router } from 'express'
8
+ import { v4 } from 'uuid'
9
9
  import {
10
- CreateState,
11
- DidRegistrationCreateRequest,
12
- DidStateValue,
13
- ICreateDidEndpointOpts,
14
- IGlobalDidWebEndpointOpts,
15
- IRequiredContext,
10
+ CreateState,
11
+ DidRegistrationCreateRequest,
12
+ DidStateValue,
13
+ ICreateDidEndpointOpts,
14
+ IGlobalDidWebEndpointOpts,
15
+ IRequiredContext,
16
16
  } from './types'
17
17
 
18
18
  export function createDidEndpoint(router: Router, context: IRequiredContext, opts?: ICreateDidEndpointOpts) {
19
- if (opts?.enabled === false) {
20
- console.log(`create DID endpoint is disabled`)
21
- return
22
- }
23
- const path = opts?.path ?? '/identifiers'
19
+ if (opts?.enabled === false) {
20
+ console.log(`create DID endpoint is disabled`)
21
+ return
22
+ }
23
+ const path = opts?.path ?? '/identifiers'
24
24
 
25
- router.post(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {
26
- try {
27
- const createRequest: DidRegistrationCreateRequest = request.body
28
- if (!createRequest) {
29
- return sendErrorResponse(response, 400, 'No DID create request present')
30
- }
31
- const did = createRequest.did
32
- const didMethod = (request.query.method as string) ?? (did ? parseDid(did).method : opts?.defaultMethod)
33
- const allDidMethods = await getAgentDIDMethods(context)
34
- if (!didMethod) {
35
- return sendErrorResponse(response, 400, 'No DID method supplied or deductible')
36
- } else if (did && parseDid(did).method != didMethod) {
37
- return sendErrorResponse(response, 400, 'DID method did not match method param')
38
- } else if (!allDidMethods.includes(didMethod)) {
39
- return sendErrorResponse(response, 400, 'DID method not supported')
40
- }
41
- const provider = `did:${didMethod}`
42
- const jobId = createRequest.jobId ?? `urn:uuid:${v4()}`
43
- let alias: string | undefined = undefined
44
- if (didMethod === 'web') {
45
- if (!did) {
46
- return sendErrorResponse(response, 400, 'Please provide a value for "did" in the request body when creating a DID web')
47
- }
48
- alias = parseDid(did).id
49
- if (!alias) {
50
- return sendErrorResponse(response, 400, 'Could not determine alias from did:web DID value: ' + did)
51
- }
52
- }
25
+ router.post(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {
26
+ try {
27
+ const createRequest: DidRegistrationCreateRequest = request.body
28
+ if (!createRequest) {
29
+ return sendErrorResponse(response, 400, 'No DID create request present')
30
+ }
31
+ const did = createRequest.did
32
+ const didMethod = (request.query.method as string) ?? (did ? parseDid(did).method : opts?.defaultMethod)
33
+ const allDidMethods = await getAgentDIDMethods(context)
34
+ if (!didMethod) {
35
+ return sendErrorResponse(response, 400, 'No DID method supplied or deductible')
36
+ } else if (did && parseDid(did).method != didMethod) {
37
+ return sendErrorResponse(response, 400, 'DID method did not match method param')
38
+ } else if (!allDidMethods.includes(didMethod)) {
39
+ return sendErrorResponse(response, 400, 'DID method not supported')
40
+ }
41
+ const provider = `did:${didMethod}`
42
+ const jobId = createRequest.jobId ?? `urn:uuid:${v4()}`
43
+ let alias: string | undefined = undefined
44
+ if (didMethod === 'web') {
45
+ if (!did) {
46
+ return sendErrorResponse(response, 400, 'Please provide a value for "did" in the request body when creating a DID web')
47
+ }
48
+ alias = parseDid(did).id
49
+ if (!alias) {
50
+ return sendErrorResponse(response, 400, 'Could not determine alias from did:web DID value: ' + did)
51
+ }
52
+ }
53
53
 
54
- let identifier: IIdentifier | undefined
55
- let state: DidStateValue | undefined
56
- if (opts?.noErrorOnExistingDid && did) {
57
- try {
58
- identifier = await context.agent.didManagerGet({did})
59
- state = 'exists'
60
- } catch (e) {
61
- // Okay, since we will create a new one
62
- }
63
- }
64
- if (identifier === undefined) {
65
- if (createRequest.options.storeSecrets === false) {
66
- return sendErrorResponse(response, 400, 'Only storeSecrets mode is supported currently')
67
- /*const memoryKMS = new SphereonKeyManager({
54
+ let identifier: IIdentifier | undefined
55
+ let state: DidStateValue | undefined
56
+ if (opts?.noErrorOnExistingDid && did) {
57
+ try {
58
+ identifier = await context.agent.didManagerGet({ did })
59
+ state = 'exists'
60
+ } catch (e) {
61
+ // Okay, since we will create a new one
62
+ }
63
+ }
64
+ if (identifier === undefined) {
65
+ if (createRequest.options.storeSecrets === false) {
66
+ return sendErrorResponse(response, 400, 'Only storeSecrets mode is supported currently')
67
+ /*const memoryKMS = new SphereonKeyManager({
68
68
  store: new MemoryKeyStore(),
69
69
  kms: {'mem': new KeyManagementSystem(new MemoryPrivateKeyStore())}
70
70
  })
71
71
  identifier = await memoryKMS..didManagerCreate({provider, alias, kms: opts?.kms})*/
72
- } else if (createRequest.options.storeSecrets || opts?.storeSecrets) {
73
- identifier = await context.agent.didManagerCreate({provider, alias, kms: opts?.kms})
74
- state = 'finished'
75
- } else {
76
- return sendErrorResponse(response, 400, 'Only storeSecrets mode is supported currently')
77
- }
78
- }
79
- if (!identifier || !state) {
80
- return sendErrorResponse(response, 400, 'An identifier and did state should be present at this point')
81
- }
82
-
83
- const didDocument = toDidDocument(identifier, {did, use: [JwkKeyUse.Signature, JwkKeyUse.Encryption]})
84
- const createState: CreateState = {
85
- jobId,
86
- didState: {
87
- did: identifier.did,
88
- state,
89
- didDocument,
90
- },
91
- }
92
- response.statusCode = 200
93
- return response.send(createState)
94
- } catch (e) {
95
- return sendErrorResponse(response, 500, e.message as string, e)
72
+ } else if (createRequest.options.storeSecrets || opts?.storeSecrets) {
73
+ identifier = await context.agent.didManagerCreate({ provider, alias, kms: opts?.kms })
74
+ state = 'finished'
75
+ } else {
76
+ return sendErrorResponse(response, 400, 'Only storeSecrets mode is supported currently')
96
77
  }
97
- })
78
+ }
79
+ if (!identifier || !state) {
80
+ return sendErrorResponse(response, 400, 'An identifier and did state should be present at this point')
81
+ }
82
+
83
+ const didDocument = toDidDocument(identifier, { did, use: [JwkKeyUse.Signature, JwkKeyUse.Encryption] })
84
+ const createState: CreateState = {
85
+ jobId,
86
+ didState: {
87
+ did: identifier.did,
88
+ state,
89
+ didDocument,
90
+ },
91
+ }
92
+ response.statusCode = 200
93
+ return response.send(createState)
94
+ } catch (e) {
95
+ return sendErrorResponse(response, 500, e.message as string, e)
96
+ }
97
+ })
98
98
  }
99
99
 
100
100
  export function getDidMethodsEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {
101
- if (opts?.enabled === false) {
102
- console.log(`Get DID methods endpoint is disabled`)
103
- return
101
+ if (opts?.enabled === false) {
102
+ console.log(`Get DID methods endpoint is disabled`)
103
+ return
104
+ }
105
+ const path = opts?.path ?? '/methods'
106
+ router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {
107
+ try {
108
+ const methods = await getAgentDIDMethods(context) // these are already without the 'did:' prefix
109
+ response.statusCode = 200
110
+ return response.send(methods)
111
+ } catch (e) {
112
+ return sendErrorResponse(response, 500, e.message as string, e)
104
113
  }
105
- const path = opts?.path ?? '/methods'
106
- router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {
107
- try {
108
- const methods = await getAgentDIDMethods(context) // these are already without the 'did:' prefix
109
- response.statusCode = 200
110
- return response.send(methods)
111
- } catch (e) {
112
- return sendErrorResponse(response, 500, e.message as string, e)
113
- }
114
- })
114
+ })
115
115
  }
116
116
 
117
117
  async function agentDidToResolutionResult(context: IRequiredContext, did: string) {
118
- try {
119
- const identifier = await context.agent.didManagerGet({did})
120
- console.log(JSON.stringify(identifier, null, 2))
121
- return toDidResolutionResult(identifier, {
122
- did,
123
- supportedMethods: await getAgentDIDMethods(context),
124
- })
125
- } catch (error) {
126
- console.log(JSON.stringify(error.message))
127
- return {
128
- didDocument: null,
129
- didResolutionMetadata: {
130
- error: 'notFound',
131
- },
132
- didDocumentMetadata: {},
133
- }
118
+ try {
119
+ const identifier = await context.agent.didManagerGet({ did })
120
+ console.log(JSON.stringify(identifier, null, 2))
121
+ return toDidResolutionResult(identifier, {
122
+ did,
123
+ supportedMethods: await getAgentDIDMethods(context),
124
+ })
125
+ } catch (error) {
126
+ console.log(JSON.stringify(error.message))
127
+ return {
128
+ didDocument: null,
129
+ didResolutionMetadata: {
130
+ error: 'notFound',
131
+ },
132
+ didDocumentMetadata: {},
134
133
  }
134
+ }
135
135
  }
136
136
 
137
- export function resolveDidEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts & {
137
+ export function resolveDidEndpoint(
138
+ router: Router,
139
+ context: IRequiredContext,
140
+ opts?: ISingleEndpointOpts & {
138
141
  mode?: 'local' | 'hybrid' | 'global'
139
- }) {
140
- if (opts?.enabled === false) {
141
- console.log(`Resolve DID endpoint is disabled`)
142
- return
143
- }
144
- const path = opts?.path ?? '/identifiers/:identifier'
145
- router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {
146
- try {
147
- const did = request.params.identifier
148
- if (!did) {
149
- return sendErrorResponse(response, 400, 'no identifier provided')
150
- }
151
- const mode = request.query.mode?.toString().toLowerCase() ?? opts?.mode?.toLowerCase() ?? 'hybrid'
152
- let resolutionResult: DIDResolutionResult | undefined
153
- if (mode === 'local' || mode === 'hybrid') {
154
- resolutionResult = await agentDidToResolutionResult(context, did)
155
- }
156
- if (mode !== 'local' && !resolutionResult?.didDocument) {
157
- resolutionResult = await context.agent.resolveDid({didUrl: did})
158
- }
142
+ }
143
+ ) {
144
+ if (opts?.enabled === false) {
145
+ console.log(`Resolve DID endpoint is disabled`)
146
+ return
147
+ }
148
+ const path = opts?.path ?? '/identifiers/:identifier'
149
+ router.get(path, checkAuth(opts?.endpoint), async (request: Request, response: Response) => {
150
+ try {
151
+ const did = request.params.identifier
152
+ if (!did) {
153
+ return sendErrorResponse(response, 400, 'no identifier provided')
154
+ }
155
+ const mode = request.query.mode?.toString().toLowerCase() ?? opts?.mode?.toLowerCase() ?? 'hybrid'
156
+ let resolutionResult: DIDResolutionResult | undefined
157
+ if (mode === 'local' || mode === 'hybrid') {
158
+ resolutionResult = await agentDidToResolutionResult(context, did)
159
+ }
160
+ if (mode !== 'local' && !resolutionResult?.didDocument) {
161
+ resolutionResult = await context.agent.resolveDid({ didUrl: did })
162
+ }
159
163
 
160
- response.statusCode = 200
161
- return response.send(resolutionResult)
162
- } catch (e) {
163
- return sendErrorResponse(response, 500, e.message as string, e)
164
- }
165
- })
164
+ response.statusCode = 200
165
+ return response.send(resolutionResult)
166
+ } catch (e) {
167
+ return sendErrorResponse(response, 500, e.message as string, e)
168
+ }
169
+ })
166
170
  }
167
171
 
168
172
  export function deactivateDidEndpoint(router: Router, context: IRequiredContext, opts?: ISingleEndpointOpts) {
169
- if (opts?.enabled === false) {
170
- console.log(`Deactivate DID endpoint is disabled`)
171
- return
172
- }
173
- router.delete(opts?.path ?? '/identifiers/:identifier', checkAuth(opts?.endpoint), async (request: Request, response: Response) => {
174
- try {
175
- const did = request.params.identifier
176
- if (!did) {
177
- return sendErrorResponse(response, 400, 'no DID provided')
178
- }
173
+ if (opts?.enabled === false) {
174
+ console.log(`Deactivate DID endpoint is disabled`)
175
+ return
176
+ }
177
+ router.delete(opts?.path ?? '/identifiers/:identifier', checkAuth(opts?.endpoint), async (request: Request, response: Response) => {
178
+ try {
179
+ const did = request.params.identifier
180
+ if (!did) {
181
+ return sendErrorResponse(response, 400, 'no DID provided')
182
+ }
179
183
 
180
- const result = await context.agent.didManagerDelete({did})
181
- if (!result) {
182
- return sendErrorResponse(response, 404, `id ${did} not found`)
183
- }
184
- response.statusCode = 200
185
- return response.send()
186
- } catch (e) {
187
- return sendErrorResponse(response, 500, e.message as string, e)
188
- }
189
- })
184
+ const result = await context.agent.didManagerDelete({ did })
185
+ if (!result) {
186
+ return sendErrorResponse(response, 404, `id ${did} not found`)
187
+ }
188
+ response.statusCode = 200
189
+ return response.send()
190
+ } catch (e) {
191
+ return sendErrorResponse(response, 500, e.message as string, e)
192
+ }
193
+ })
190
194
  }
191
195
 
192
196
  /**
@@ -205,39 +209,39 @@ export function deactivateDidEndpoint(router: Router, context: IRequiredContext,
205
209
  * @param opts
206
210
  */
207
211
  export function didWebDomainEndpoint(router: Router, context: IRequiredContext, opts?: IGlobalDidWebEndpointOpts) {
208
- if (opts?.enabled === false) {
209
- console.log(`DID Web domain resolution endpoint is disabled`)
210
- return
211
- }
212
- router.get(opts?.path ?? ':path(*)/did.json', checkAuth(opts?.endpoint), async (request: Request, response: Response) => {
213
- try {
214
- const path = request.params.path
215
- if (!path || path.length === 0) {
216
- return sendErrorResponse(response, 404, 'Not found')
217
- }
218
- let did: string
219
- did = `did:web:${opts?.hostname ?? request.hostname}`
220
- if (path !== '.well-known') {
221
- if (opts?.disableSubPaths) {
222
- return sendErrorResponse(response, 404, 'Not found')
223
- }
224
- const suffix = path.replace(/\//g, ':').replace(/%2F/g, ':')
225
- if (!suffix.startsWith(':')) {
226
- did += ':'
227
- }
228
- did += suffix
229
- } else if (opts?.disableWellKnown) {
230
- return sendErrorResponse(response, 404, 'Not found')
231
- }
232
-
233
- const resolutionResult = await agentDidToResolutionResult(context, did)
234
- if (!resolutionResult || !resolutionResult.didDocument || resolutionResult?.didResolutionMetadata?.error === 'notFound') {
235
- return sendErrorResponse(response, 404, 'Not found')
236
- }
237
- response.statusCode = 200
238
- return response.send(resolutionResult.didDocument)
239
- } catch (e) {
240
- return sendErrorResponse(response, 500, e.message as string, e)
212
+ if (opts?.enabled === false) {
213
+ console.log(`DID Web domain resolution endpoint is disabled`)
214
+ return
215
+ }
216
+ router.get(opts?.path ?? ':path(*)/did.json', checkAuth(opts?.endpoint), async (request: Request, response: Response) => {
217
+ try {
218
+ const path = request.params.path
219
+ if (!path || path.length === 0) {
220
+ return sendErrorResponse(response, 404, 'Not found')
221
+ }
222
+ let did: string
223
+ did = `did:web:${opts?.hostname ?? request.hostname}`
224
+ if (path !== '.well-known') {
225
+ if (opts?.disableSubPaths) {
226
+ return sendErrorResponse(response, 404, 'Not found')
241
227
  }
242
- })
228
+ const suffix = path.replace(/\//g, ':').replace(/%2F/g, ':')
229
+ if (!suffix.startsWith(':')) {
230
+ did += ':'
231
+ }
232
+ did += suffix
233
+ } else if (opts?.disableWellKnown) {
234
+ return sendErrorResponse(response, 404, 'Not found')
235
+ }
236
+
237
+ const resolutionResult = await agentDidToResolutionResult(context, did)
238
+ if (!resolutionResult || !resolutionResult.didDocument || resolutionResult?.didResolutionMetadata?.error === 'notFound') {
239
+ return sendErrorResponse(response, 404, 'Not found')
240
+ }
241
+ response.statusCode = 200
242
+ return response.send(resolutionResult.didDocument)
243
+ } catch (e) {
244
+ return sendErrorResponse(response, 500, e.message as string, e)
245
+ }
246
+ })
243
247
  }