diff options
Diffstat (limited to 'server/helpers/custom-jsonld-signature.ts')
-rw-r--r-- | server/helpers/custom-jsonld-signature.ts | 91 |
1 files changed, 0 insertions, 91 deletions
diff --git a/server/helpers/custom-jsonld-signature.ts b/server/helpers/custom-jsonld-signature.ts deleted file mode 100644 index 3c706e372..000000000 --- a/server/helpers/custom-jsonld-signature.ts +++ /dev/null | |||
@@ -1,91 +0,0 @@ | |||
1 | import AsyncLRU from 'async-lru' | ||
2 | import { logger } from './logger' | ||
3 | |||
4 | import jsonld = require('jsonld') | ||
5 | |||
6 | const CACHE = { | ||
7 | 'https://w3id.org/security/v1': { | ||
8 | '@context': { | ||
9 | id: '@id', | ||
10 | type: '@type', | ||
11 | |||
12 | dc: 'http://purl.org/dc/terms/', | ||
13 | sec: 'https://w3id.org/security#', | ||
14 | xsd: 'http://www.w3.org/2001/XMLSchema#', | ||
15 | |||
16 | EcdsaKoblitzSignature2016: 'sec:EcdsaKoblitzSignature2016', | ||
17 | Ed25519Signature2018: 'sec:Ed25519Signature2018', | ||
18 | EncryptedMessage: 'sec:EncryptedMessage', | ||
19 | GraphSignature2012: 'sec:GraphSignature2012', | ||
20 | LinkedDataSignature2015: 'sec:LinkedDataSignature2015', | ||
21 | LinkedDataSignature2016: 'sec:LinkedDataSignature2016', | ||
22 | CryptographicKey: 'sec:Key', | ||
23 | |||
24 | authenticationTag: 'sec:authenticationTag', | ||
25 | canonicalizationAlgorithm: 'sec:canonicalizationAlgorithm', | ||
26 | cipherAlgorithm: 'sec:cipherAlgorithm', | ||
27 | cipherData: 'sec:cipherData', | ||
28 | cipherKey: 'sec:cipherKey', | ||
29 | created: { '@id': 'dc:created', '@type': 'xsd:dateTime' }, | ||
30 | creator: { '@id': 'dc:creator', '@type': '@id' }, | ||
31 | digestAlgorithm: 'sec:digestAlgorithm', | ||
32 | digestValue: 'sec:digestValue', | ||
33 | domain: 'sec:domain', | ||
34 | encryptionKey: 'sec:encryptionKey', | ||
35 | expiration: { '@id': 'sec:expiration', '@type': 'xsd:dateTime' }, | ||
36 | expires: { '@id': 'sec:expiration', '@type': 'xsd:dateTime' }, | ||
37 | initializationVector: 'sec:initializationVector', | ||
38 | iterationCount: 'sec:iterationCount', | ||
39 | nonce: 'sec:nonce', | ||
40 | normalizationAlgorithm: 'sec:normalizationAlgorithm', | ||
41 | owner: { '@id': 'sec:owner', '@type': '@id' }, | ||
42 | password: 'sec:password', | ||
43 | privateKey: { '@id': 'sec:privateKey', '@type': '@id' }, | ||
44 | privateKeyPem: 'sec:privateKeyPem', | ||
45 | publicKey: { '@id': 'sec:publicKey', '@type': '@id' }, | ||
46 | publicKeyBase58: 'sec:publicKeyBase58', | ||
47 | publicKeyPem: 'sec:publicKeyPem', | ||
48 | publicKeyWif: 'sec:publicKeyWif', | ||
49 | publicKeyService: { '@id': 'sec:publicKeyService', '@type': '@id' }, | ||
50 | revoked: { '@id': 'sec:revoked', '@type': 'xsd:dateTime' }, | ||
51 | salt: 'sec:salt', | ||
52 | signature: 'sec:signature', | ||
53 | signatureAlgorithm: 'sec:signingAlgorithm', | ||
54 | signatureValue: 'sec:signatureValue' | ||
55 | } | ||
56 | } | ||
57 | } | ||
58 | |||
59 | const nodeDocumentLoader = jsonld.documentLoaders.node() | ||
60 | |||
61 | const lru = new AsyncLRU({ | ||
62 | max: 10, | ||
63 | load: (url, cb) => { | ||
64 | if (CACHE[url] !== undefined) { | ||
65 | logger.debug('Using cache for JSON-LD %s.', url) | ||
66 | |||
67 | return cb(null, { | ||
68 | contextUrl: null, | ||
69 | document: CACHE[url], | ||
70 | documentUrl: url | ||
71 | }) | ||
72 | } | ||
73 | |||
74 | nodeDocumentLoader(url) | ||
75 | .then(value => cb(null, value)) | ||
76 | .catch(err => cb(err)) | ||
77 | } | ||
78 | }) | ||
79 | |||
80 | /* eslint-disable no-import-assign */ | ||
81 | jsonld.documentLoader = (url) => { | ||
82 | return new Promise((res, rej) => { | ||
83 | lru.get(url, (err, value) => { | ||
84 | if (err) return rej(err) | ||
85 | |||
86 | return res(value) | ||
87 | }) | ||
88 | }) | ||
89 | } | ||
90 | |||
91 | export { jsonld } | ||