Showing
5 changed files
with
331 additions
and
1 deletions
... | @@ -4,6 +4,14 @@ | ... | @@ -4,6 +4,14 @@ |
4 | "lockfileVersion": 1, | 4 | "lockfileVersion": 1, |
5 | "requires": true, | 5 | "requires": true, |
6 | "dependencies": { | 6 | "dependencies": { |
7 | + "abort-controller": { | ||
8 | + "version": "3.0.0", | ||
9 | + "resolved": "https://registry.npmjs.org/abort-controller/-/abort-controller-3.0.0.tgz", | ||
10 | + "integrity": "sha512-h8lQ8tacZYnR3vNQTgibj+tODHI5/+l06Au2Pcriv/Gmet0eaj4TwWH41sO9wnHDiQsEj19q0drzdWdeAHtweg==", | ||
11 | + "requires": { | ||
12 | + "event-target-shim": "^5.0.0" | ||
13 | + } | ||
14 | + }, | ||
7 | "accepts": { | 15 | "accepts": { |
8 | "version": "1.3.7", | 16 | "version": "1.3.7", |
9 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", | 17 | "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.7.tgz", |
... | @@ -13,6 +21,29 @@ | ... | @@ -13,6 +21,29 @@ |
13 | "negotiator": "0.6.2" | 21 | "negotiator": "0.6.2" |
14 | } | 22 | } |
15 | }, | 23 | }, |
24 | + "agent-base": { | ||
25 | + "version": "6.0.2", | ||
26 | + "resolved": "https://registry.npmjs.org/agent-base/-/agent-base-6.0.2.tgz", | ||
27 | + "integrity": "sha512-RZNwNclF7+MS/8bDg70amg32dyeZGZxiDuQmZxKLAlQjr3jGyLx+4Kkk58UO7D2QdgFIQCovuSuZESne6RG6XQ==", | ||
28 | + "requires": { | ||
29 | + "debug": "4" | ||
30 | + }, | ||
31 | + "dependencies": { | ||
32 | + "debug": { | ||
33 | + "version": "4.3.1", | ||
34 | + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", | ||
35 | + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", | ||
36 | + "requires": { | ||
37 | + "ms": "2.1.2" | ||
38 | + } | ||
39 | + }, | ||
40 | + "ms": { | ||
41 | + "version": "2.1.2", | ||
42 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||
43 | + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | ||
44 | + } | ||
45 | + } | ||
46 | + }, | ||
16 | "ansi-styles": { | 47 | "ansi-styles": { |
17 | "version": "3.2.1", | 48 | "version": "3.2.1", |
18 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", | 49 | "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", |
... | @@ -26,6 +57,11 @@ | ... | @@ -26,6 +57,11 @@ |
26 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", | 57 | "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", |
27 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" | 58 | "integrity": "sha1-ml9pkFGx5wczKPKgCJaLZOopVdI=" |
28 | }, | 59 | }, |
60 | + "arrify": { | ||
61 | + "version": "2.0.1", | ||
62 | + "resolved": "https://registry.npmjs.org/arrify/-/arrify-2.0.1.tgz", | ||
63 | + "integrity": "sha512-3duEwti880xqi4eAMN8AyR4a0ByT90zoYdLlevfrvU43vb0YZwZVfxOgxWrLXXXpyugL0hNZc9G6BiB5B3nUug==" | ||
64 | + }, | ||
29 | "async": { | 65 | "async": { |
30 | "version": "0.9.2", | 66 | "version": "0.9.2", |
31 | "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", | 67 | "resolved": "https://registry.npmjs.org/async/-/async-0.9.2.tgz", |
... | @@ -36,6 +72,11 @@ | ... | @@ -36,6 +72,11 @@ |
36 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", | 72 | "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", |
37 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" | 73 | "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==" |
38 | }, | 74 | }, |
75 | + "base64-js": { | ||
76 | + "version": "1.5.1", | ||
77 | + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", | ||
78 | + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==" | ||
79 | + }, | ||
39 | "basic-auth": { | 80 | "basic-auth": { |
40 | "version": "2.0.1", | 81 | "version": "2.0.1", |
41 | "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", | 82 | "resolved": "https://registry.npmjs.org/basic-auth/-/basic-auth-2.0.1.tgz", |
... | @@ -44,6 +85,11 @@ | ... | @@ -44,6 +85,11 @@ |
44 | "safe-buffer": "5.1.2" | 85 | "safe-buffer": "5.1.2" |
45 | } | 86 | } |
46 | }, | 87 | }, |
88 | + "bignumber.js": { | ||
89 | + "version": "9.0.1", | ||
90 | + "resolved": "https://registry.npmjs.org/bignumber.js/-/bignumber.js-9.0.1.tgz", | ||
91 | + "integrity": "sha512-IdZR9mh6ahOBv/hYGiXyVuyCetmGJhtYkqLBpTStdhEGjegpPlUawydyaF3pbIOFynJTpllEs+NP+CS9jKFLjA==" | ||
92 | + }, | ||
47 | "body-parser": { | 93 | "body-parser": { |
48 | "version": "1.18.3", | 94 | "version": "1.18.3", |
49 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", | 95 | "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.18.3.tgz", |
... | @@ -70,6 +116,11 @@ | ... | @@ -70,6 +116,11 @@ |
70 | "concat-map": "0.0.1" | 116 | "concat-map": "0.0.1" |
71 | } | 117 | } |
72 | }, | 118 | }, |
119 | + "buffer-equal-constant-time": { | ||
120 | + "version": "1.0.1", | ||
121 | + "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz", | ||
122 | + "integrity": "sha1-+OcRMvf/5uAaXJaXpMbz5I1cyBk=" | ||
123 | + }, | ||
73 | "bytes": { | 124 | "bytes": { |
74 | "version": "3.0.0", | 125 | "version": "3.0.0", |
75 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", | 126 | "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", |
... | @@ -150,6 +201,14 @@ | ... | @@ -150,6 +201,14 @@ |
150 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", | 201 | "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", |
151 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" | 202 | "integrity": "sha1-l4hXRCxEdJ5CBmE+N5RiBYJqvYA=" |
152 | }, | 203 | }, |
204 | + "ecdsa-sig-formatter": { | ||
205 | + "version": "1.0.11", | ||
206 | + "resolved": "https://registry.npmjs.org/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz", | ||
207 | + "integrity": "sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==", | ||
208 | + "requires": { | ||
209 | + "safe-buffer": "^5.0.1" | ||
210 | + } | ||
211 | + }, | ||
153 | "ee-first": { | 212 | "ee-first": { |
154 | "version": "1.1.1", | 213 | "version": "1.1.1", |
155 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", | 214 | "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", |
... | @@ -183,6 +242,11 @@ | ... | @@ -183,6 +242,11 @@ |
183 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", | 242 | "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", |
184 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" | 243 | "integrity": "sha1-Qa4u62XvpiJorr/qg6x9eSmbCIc=" |
185 | }, | 244 | }, |
245 | + "event-target-shim": { | ||
246 | + "version": "5.0.1", | ||
247 | + "resolved": "https://registry.npmjs.org/event-target-shim/-/event-target-shim-5.0.1.tgz", | ||
248 | + "integrity": "sha512-i/2XbnSz/uxRCU6+NdVJgKWDTM427+MqYbkQzD321DuCQJUqOuJKIA0IM2+W2xtYHdKOmZ4dR6fExsd4SXL+WQ==" | ||
249 | + }, | ||
186 | "express": { | 250 | "express": { |
187 | "version": "4.16.4", | 251 | "version": "4.16.4", |
188 | "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", | 252 | "resolved": "https://registry.npmjs.org/express/-/express-4.16.4.tgz", |
... | @@ -227,6 +291,16 @@ | ... | @@ -227,6 +291,16 @@ |
227 | } | 291 | } |
228 | } | 292 | } |
229 | }, | 293 | }, |
294 | + "extend": { | ||
295 | + "version": "3.0.2", | ||
296 | + "resolved": "https://registry.npmjs.org/extend/-/extend-3.0.2.tgz", | ||
297 | + "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==" | ||
298 | + }, | ||
299 | + "fast-text-encoding": { | ||
300 | + "version": "1.0.3", | ||
301 | + "resolved": "https://registry.npmjs.org/fast-text-encoding/-/fast-text-encoding-1.0.3.tgz", | ||
302 | + "integrity": "sha512-dtm4QZH9nZtcDt8qJiOH9fcQd1NAgi+K1O2DbE6GG1PPCK/BWfOH3idCTRQ4ImXRUOyopDEgDEnVEE7Y/2Wrig==" | ||
303 | + }, | ||
230 | "filelist": { | 304 | "filelist": { |
231 | "version": "1.0.2", | 305 | "version": "1.0.2", |
232 | "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", | 306 | "resolved": "https://registry.npmjs.org/filelist/-/filelist-1.0.2.tgz", |
... | @@ -259,6 +333,61 @@ | ... | @@ -259,6 +333,61 @@ |
259 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", | 333 | "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", |
260 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" | 334 | "integrity": "sha1-PYyt2Q2XZWn6g1qx+OSyOhBWBac=" |
261 | }, | 335 | }, |
336 | + "gaxios": { | ||
337 | + "version": "4.2.1", | ||
338 | + "resolved": "https://registry.npmjs.org/gaxios/-/gaxios-4.2.1.tgz", | ||
339 | + "integrity": "sha512-s+rTywpw6CmfB8r9TXYkpix7YFeuRjnR/AqhaJrQqsNhsAqej+IAiCc3hadzQH3gHyWth30tvYjxH8EVjQt/8Q==", | ||
340 | + "requires": { | ||
341 | + "abort-controller": "^3.0.0", | ||
342 | + "extend": "^3.0.2", | ||
343 | + "https-proxy-agent": "^5.0.0", | ||
344 | + "is-stream": "^2.0.0", | ||
345 | + "node-fetch": "^2.3.0" | ||
346 | + } | ||
347 | + }, | ||
348 | + "gcp-metadata": { | ||
349 | + "version": "4.2.1", | ||
350 | + "resolved": "https://registry.npmjs.org/gcp-metadata/-/gcp-metadata-4.2.1.tgz", | ||
351 | + "integrity": "sha512-tSk+REe5iq/N+K+SK1XjZJUrFPuDqGZVzCy2vocIHIGmPlTGsa8owXMJwGkrXr73NO0AzhPW4MF2DEHz7P2AVw==", | ||
352 | + "requires": { | ||
353 | + "gaxios": "^4.0.0", | ||
354 | + "json-bigint": "^1.0.0" | ||
355 | + } | ||
356 | + }, | ||
357 | + "google-auth-library": { | ||
358 | + "version": "7.0.4", | ||
359 | + "resolved": "https://registry.npmjs.org/google-auth-library/-/google-auth-library-7.0.4.tgz", | ||
360 | + "integrity": "sha512-o8irYyeijEiecTXeoEe8UKNEzV1X+uhR4b2oNdapDMZixypp0J+eHimGOyx5Joa3UAeokGngdtDLXtq9vDqG2Q==", | ||
361 | + "requires": { | ||
362 | + "arrify": "^2.0.0", | ||
363 | + "base64-js": "^1.3.0", | ||
364 | + "ecdsa-sig-formatter": "^1.0.11", | ||
365 | + "fast-text-encoding": "^1.0.0", | ||
366 | + "gaxios": "^4.0.0", | ||
367 | + "gcp-metadata": "^4.2.0", | ||
368 | + "gtoken": "^5.0.4", | ||
369 | + "jws": "^4.0.0", | ||
370 | + "lru-cache": "^6.0.0" | ||
371 | + } | ||
372 | + }, | ||
373 | + "google-p12-pem": { | ||
374 | + "version": "3.0.3", | ||
375 | + "resolved": "https://registry.npmjs.org/google-p12-pem/-/google-p12-pem-3.0.3.tgz", | ||
376 | + "integrity": "sha512-wS0ek4ZtFx/ACKYF3JhyGe5kzH7pgiQ7J5otlumqR9psmWMYc+U9cErKlCYVYHoUaidXHdZ2xbo34kB+S+24hA==", | ||
377 | + "requires": { | ||
378 | + "node-forge": "^0.10.0" | ||
379 | + } | ||
380 | + }, | ||
381 | + "gtoken": { | ||
382 | + "version": "5.2.1", | ||
383 | + "resolved": "https://registry.npmjs.org/gtoken/-/gtoken-5.2.1.tgz", | ||
384 | + "integrity": "sha512-OY0BfPKe3QnMsY9MzTHTSKn+Vl2l1CcLe6BwDEQj00mbbkl5nyQ/7EUREstg4fQNZ8iYE7br4JJ7TdKeDOPWmw==", | ||
385 | + "requires": { | ||
386 | + "gaxios": "^4.0.0", | ||
387 | + "google-p12-pem": "^3.0.3", | ||
388 | + "jws": "^4.0.0" | ||
389 | + } | ||
390 | + }, | ||
262 | "has-flag": { | 391 | "has-flag": { |
263 | "version": "3.0.0", | 392 | "version": "3.0.0", |
264 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", | 393 | "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", |
... | @@ -275,6 +404,30 @@ | ... | @@ -275,6 +404,30 @@ |
275 | "statuses": ">= 1.4.0 < 2" | 404 | "statuses": ">= 1.4.0 < 2" |
276 | } | 405 | } |
277 | }, | 406 | }, |
407 | + "https-proxy-agent": { | ||
408 | + "version": "5.0.0", | ||
409 | + "resolved": "https://registry.npmjs.org/https-proxy-agent/-/https-proxy-agent-5.0.0.tgz", | ||
410 | + "integrity": "sha512-EkYm5BcKUGiduxzSt3Eppko+PiNWNEpa4ySk9vTC6wDsQJW9rHSa+UhGNJoRYp7bz6Ht1eaRIa6QaJqO5rCFbA==", | ||
411 | + "requires": { | ||
412 | + "agent-base": "6", | ||
413 | + "debug": "4" | ||
414 | + }, | ||
415 | + "dependencies": { | ||
416 | + "debug": { | ||
417 | + "version": "4.3.1", | ||
418 | + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.1.tgz", | ||
419 | + "integrity": "sha512-doEwdvm4PCeK4K3RQN2ZC2BYUBaxwLARCqZmMjtF8a51J2Rb0xpVloFRnCODwqjpwnAoao4pelN8l3RJdv3gRQ==", | ||
420 | + "requires": { | ||
421 | + "ms": "2.1.2" | ||
422 | + } | ||
423 | + }, | ||
424 | + "ms": { | ||
425 | + "version": "2.1.2", | ||
426 | + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", | ||
427 | + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==" | ||
428 | + } | ||
429 | + } | ||
430 | + }, | ||
278 | "iconv-lite": { | 431 | "iconv-lite": { |
279 | "version": "0.4.23", | 432 | "version": "0.4.23", |
280 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", | 433 | "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.23.tgz", |
... | @@ -293,6 +446,11 @@ | ... | @@ -293,6 +446,11 @@ |
293 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", | 446 | "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", |
294 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" | 447 | "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==" |
295 | }, | 448 | }, |
449 | + "is-stream": { | ||
450 | + "version": "2.0.0", | ||
451 | + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.0.tgz", | ||
452 | + "integrity": "sha512-XCoy+WlUr7d1+Z8GgSuXmpuUFC9fOhRXglJMx+dwLKTkL44Cjd4W1Z5P+BQZpr+cR93aGP4S/s7Ftw6Nd/kiEw==" | ||
453 | + }, | ||
296 | "jake": { | 454 | "jake": { |
297 | "version": "10.8.2", | 455 | "version": "10.8.2", |
298 | "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", | 456 | "resolved": "https://registry.npmjs.org/jake/-/jake-10.8.2.tgz", |
... | @@ -304,6 +462,41 @@ | ... | @@ -304,6 +462,41 @@ |
304 | "minimatch": "^3.0.4" | 462 | "minimatch": "^3.0.4" |
305 | } | 463 | } |
306 | }, | 464 | }, |
465 | + "json-bigint": { | ||
466 | + "version": "1.0.0", | ||
467 | + "resolved": "https://registry.npmjs.org/json-bigint/-/json-bigint-1.0.0.tgz", | ||
468 | + "integrity": "sha512-SiPv/8VpZuWbvLSMtTDU8hEfrZWg/mH/nV/b4o0CYbSxu1UIQPLdwKOCIyLQX+VIPO5vrLX3i8qtqFyhdPSUSQ==", | ||
469 | + "requires": { | ||
470 | + "bignumber.js": "^9.0.0" | ||
471 | + } | ||
472 | + }, | ||
473 | + "jwa": { | ||
474 | + "version": "2.0.0", | ||
475 | + "resolved": "https://registry.npmjs.org/jwa/-/jwa-2.0.0.tgz", | ||
476 | + "integrity": "sha512-jrZ2Qx916EA+fq9cEAeCROWPTfCwi1IVHqT2tapuqLEVVDKFDENFw1oL+MwrTvH6msKxsd1YTDVw6uKEcsrLEA==", | ||
477 | + "requires": { | ||
478 | + "buffer-equal-constant-time": "1.0.1", | ||
479 | + "ecdsa-sig-formatter": "1.0.11", | ||
480 | + "safe-buffer": "^5.0.1" | ||
481 | + } | ||
482 | + }, | ||
483 | + "jws": { | ||
484 | + "version": "4.0.0", | ||
485 | + "resolved": "https://registry.npmjs.org/jws/-/jws-4.0.0.tgz", | ||
486 | + "integrity": "sha512-KDncfTmOZoOMTFG4mBlG0qUIOlc03fmzH+ru6RgYVZhPkyiy/92Owlt/8UEN+a4TXR1FQetfIpJE8ApdvdVxTg==", | ||
487 | + "requires": { | ||
488 | + "jwa": "^2.0.0", | ||
489 | + "safe-buffer": "^5.0.1" | ||
490 | + } | ||
491 | + }, | ||
492 | + "lru-cache": { | ||
493 | + "version": "6.0.0", | ||
494 | + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", | ||
495 | + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", | ||
496 | + "requires": { | ||
497 | + "yallist": "^4.0.0" | ||
498 | + } | ||
499 | + }, | ||
307 | "media-typer": { | 500 | "media-typer": { |
308 | "version": "0.3.0", | 501 | "version": "0.3.0", |
309 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", | 502 | "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", |
... | @@ -367,6 +560,16 @@ | ... | @@ -367,6 +560,16 @@ |
367 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", | 560 | "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.2.tgz", |
368 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" | 561 | "integrity": "sha512-hZXc7K2e+PgeI1eDBe/10Ard4ekbfrrqG8Ep+8Jmf4JID2bNg7NvCPOZN+kfF574pFQI7mum2AUqDidoKqcTOw==" |
369 | }, | 562 | }, |
563 | + "node-fetch": { | ||
564 | + "version": "2.6.1", | ||
565 | + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.1.tgz", | ||
566 | + "integrity": "sha512-V4aYg89jEoVRxRb2fJdAg8FHvI7cEyYdVAh94HH0UIK8oJxUfkjlDQN9RbMx+bEjP7+ggMiFRprSti032Oipxw==" | ||
567 | + }, | ||
568 | + "node-forge": { | ||
569 | + "version": "0.10.0", | ||
570 | + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-0.10.0.tgz", | ||
571 | + "integrity": "sha512-PPmu8eEeG9saEUvI97fm4OYxXVB6bFvyNTyiUOBichBpFG8A1Ljw3bY62+5oOjDEMHRnd0Y7HQ+x7uzxOzC6JA==" | ||
572 | + }, | ||
370 | "on-finished": { | 573 | "on-finished": { |
371 | "version": "2.3.0", | 574 | "version": "2.3.0", |
372 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", | 575 | "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.3.0.tgz", |
... | @@ -502,6 +705,11 @@ | ... | @@ -502,6 +705,11 @@ |
502 | "version": "1.1.2", | 705 | "version": "1.1.2", |
503 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", | 706 | "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", |
504 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" | 707 | "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=" |
708 | + }, | ||
709 | + "yallist": { | ||
710 | + "version": "4.0.0", | ||
711 | + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", | ||
712 | + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==" | ||
505 | } | 713 | } |
506 | } | 714 | } |
507 | } | 715 | } | ... | ... |
... | @@ -10,6 +10,7 @@ | ... | @@ -10,6 +10,7 @@ |
10 | "debug": "~2.6.9", | 10 | "debug": "~2.6.9", |
11 | "ejs": "^3.1.6", | 11 | "ejs": "^3.1.6", |
12 | "express": "^4.16.4", | 12 | "express": "^4.16.4", |
13 | + "google-auth-library": "^7.0.4", | ||
13 | "http-errors": "~1.6.3", | 14 | "http-errors": "~1.6.3", |
14 | "morgan": "~1.9.1" | 15 | "morgan": "~1.9.1" |
15 | } | 16 | } | ... | ... |
1 | var express = require('express'); | 1 | var express = require('express'); |
2 | var router = express.Router(); | 2 | var router = express.Router(); |
3 | +var {OAuth2Client} = require('google-auth-library'); | ||
4 | +var CLIENT_ID = "94679084723-s5f0686p2porp9mkakrp1p89a48n24nj.apps.googleusercontent.com" | ||
5 | +var client= new OAuth2Client(CLIENT_ID); | ||
3 | 6 | ||
4 | /* GET home page. */ | 7 | /* GET home page. */ |
5 | router.get('/', function(req, res, next) { | 8 | router.get('/', function(req, res, next) { |
6 | - res.render('index', { title: 'Express' }); | 9 | + res.render('index', { d: "94679084723-s5f0686p2porp9mkakrp1p89a48n24nj.apps.googleusercontent.com" }); |
10 | +}); | ||
11 | +router.get('/index', function(req, res, next) { | ||
12 | + res.render('index', { d: "94679084723-s5f0686p2porp9mkakrp1p89a48n24nj.apps.googleusercontent.com" }); | ||
13 | +}); | ||
14 | + | ||
15 | +router.post('/index', (req, res) => { | ||
16 | + let token=req.body.token; | ||
17 | + async function verify() { | ||
18 | + const ticket = await client.verifyIdToken({ | ||
19 | + idToken: token, | ||
20 | + audience: CLIENT_ID, // Specify the CLIENT_ID of the app that accesses the backend | ||
21 | + }); | ||
22 | + } | ||
23 | + verify() | ||
24 | + .then(()=>{ | ||
25 | + res.cookie('session-token', token); | ||
26 | + res.send('success') | ||
27 | + }) | ||
28 | + .catch(console.error); | ||
7 | }); | 29 | }); |
8 | 30 | ||
31 | +router.get('/login', checkAuthenticated, (req,res )=>{ | ||
32 | + let user=req.user; | ||
33 | + res.render('login', {user}) | ||
34 | +}); | ||
9 | module.exports = router; | 35 | module.exports = router; |
36 | + | ||
37 | + | ||
38 | + | ||
39 | +function checkAuthenticated(req, res, next){ | ||
40 | + | ||
41 | + let token = req.cookies['session-token']; | ||
42 | + | ||
43 | + let user = {}; | ||
44 | + async function verify() { | ||
45 | + const ticket = await client.verifyIdToken({ | ||
46 | + idToken: token, | ||
47 | + audience: CLIENT_ID, // Specify the CLIENT_ID of the app that accesses the backend | ||
48 | + }); | ||
49 | + const payload = ticket.getPayload(); | ||
50 | + user.name = payload.name; | ||
51 | + user.email = payload.email; | ||
52 | + user.picture = payload.picture; | ||
53 | + console.log(user.name); | ||
54 | + } | ||
55 | + verify() | ||
56 | + .then(()=>{ | ||
57 | + req.user = user; | ||
58 | + next(); | ||
59 | + }) | ||
60 | + .catch(err=>{ | ||
61 | + res.redirect('/login') | ||
62 | + }) | ||
63 | + | ||
64 | +} | ||
... | \ No newline at end of file | ... | \ No newline at end of file | ... | ... |
1 | +<!DOCTYPE html> | ||
2 | +<html> | ||
3 | +<head> | ||
4 | + <meta charset="UTF-8"> | ||
5 | + <script src="https://apis.google.com/js/platform.js" async defer></script> | ||
6 | + <meta name="google-signin-client_id" content=<%=d%>> | ||
7 | + <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
8 | + <title><%= d%></title> | ||
9 | + <link rel='stylesheet' href='/stylesheets/style.css' /> | ||
10 | +</head> | ||
11 | + | ||
12 | +<body> | ||
13 | +<h1>Login</h1> | ||
14 | +<div class="g-signin2" data-onsuccess="onSignIn"></div> | ||
15 | +<a href="#" onclick="signOut();">Sign out</a> | ||
16 | +</body> | ||
17 | + | ||
18 | + | ||
19 | +<script> | ||
20 | + function onSignIn(googleUser) { | ||
21 | + var id_token = googleUser.getAuthResponse().id_token; | ||
22 | + //console.log(id_token); | ||
23 | + var xhr = new XMLHttpRequest(); | ||
24 | + xhr.open('POST', '/index'); | ||
25 | + xhr.setRequestHeader('Content-Type', 'application/json'); | ||
26 | + xhr.onload = function() { | ||
27 | + console.log('Signed in as: ' + xhr.responseText); | ||
28 | + if(xhr.responseText == 'success'){ | ||
29 | + signOut(); | ||
30 | + location.assign('/login') | ||
31 | + } | ||
32 | + }; | ||
33 | + xhr.send(JSON.stringify({token: id_token})); | ||
34 | + } | ||
35 | + | ||
36 | + function signOut() { | ||
37 | + var auth2 = gapi.auth2.getAuthInstance(); | ||
38 | + auth2.signOut().then(function () { | ||
39 | + console.log('User signed out.'); | ||
40 | + }); | ||
41 | + } | ||
42 | +</script> | ||
43 | +</html> | ... | ... |
views/login.ejs
0 → 100644
1 | +<!DOCTYPE html> | ||
2 | +<html lang="en"> | ||
3 | +<head> | ||
4 | + <meta charset="UTF-8"> | ||
5 | + <meta name="viewport" content="width=device-width, initial-scale=1.0"> | ||
6 | + | ||
7 | + <title>logined</title> | ||
8 | +</head> | ||
9 | +<body> | ||
10 | + | ||
11 | +<a href="/index" onclick="signOut();">Sign Out</a> | ||
12 | +<h1>Hi <%= user.name %></h1> | ||
13 | + | ||
14 | +</body> | ||
15 | +<script> | ||
16 | + function signOut() { | ||
17 | + var auth2 = gapi.auth2.getAuthInstance(); | ||
18 | + auth2.signOut().then(function () { | ||
19 | + console.log('User signed out.'); | ||
20 | + }); | ||
21 | + } | ||
22 | +</script> | ||
23 | +</html> | ||
... | \ No newline at end of file | ... | \ No newline at end of file |
-
Please register or login to post a comment