Переглянути джерело

:construction: Setting up for different JWT library

tags/0.0.3^2
tomit4 3 роки тому
джерело
коміт
5528e8cdb6

+ 1
- 0
backend/lib/services/user.js Переглянути файл

3
 const crypto = require('crypto')
3
 const crypto = require('crypto')
4
 const Util = require('util')
4
 const Util = require('util')
5
 const Jwt = require('@hapi/jwt')
5
 const Jwt = require('@hapi/jwt')
6
+const JWT = require('jsonwebtoken')
6
 const Schmervice = require('@hapipal/schmervice')
7
 const Schmervice = require('@hapipal/schmervice')
7
 const SecurePassword = require('secure-password')
8
 const SecurePassword = require('secure-password')
8
 
9
 

+ 136
- 0
backend/package-lock.json Переглянути файл

21
                 "compute-cosine-similarity": "^1.0.0",
21
                 "compute-cosine-similarity": "^1.0.0",
22
                 "dotenv": "^10.0.0",
22
                 "dotenv": "^10.0.0",
23
                 "exiting": "^6.0.1",
23
                 "exiting": "^6.0.1",
24
+                "hapi-auth-jwt2": "^10.4.0",
24
                 "hapi-swagger": "^14.5.5",
25
                 "hapi-swagger": "^14.5.5",
25
                 "haversine": "^1.1.1",
26
                 "haversine": "^1.1.1",
26
                 "joi": "^17.4.0",
27
                 "joi": "^17.4.0",
28
+                "jsonwebtoken": "^9.0.0",
27
                 "knex": "^0.21.19",
29
                 "knex": "^0.21.19",
28
                 "mysql": "^2.18.1",
30
                 "mysql": "^2.18.1",
29
                 "objection": "^2.2.18",
31
                 "objection": "^2.2.18",
2031
                 "ieee754": "^1.1.13"
2033
                 "ieee754": "^1.1.13"
2032
             }
2034
             }
2033
         },
2035
         },
2036
+        "node_modules/buffer-equal-constant-time": {
2037
+            "version": "1.0.1",
2038
+            "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
2039
+            "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="
2040
+        },
2034
         "node_modules/buffer-from": {
2041
         "node_modules/buffer-from": {
2035
             "version": "1.1.1",
2042
             "version": "1.1.1",
2036
             "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
2043
             "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
2613
                 "node": ">= 4"
2620
                 "node": ">= 4"
2614
             }
2621
             }
2615
         },
2622
         },
2623
+        "node_modules/cookie": {
2624
+            "version": "0.4.2",
2625
+            "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
2626
+            "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==",
2627
+            "engines": {
2628
+                "node": ">= 0.6"
2629
+            }
2630
+        },
2616
         "node_modules/cookiejar": {
2631
         "node_modules/cookiejar": {
2617
             "version": "2.1.4",
2632
             "version": "2.1.4",
2618
             "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz",
2633
             "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz",
4100
                 "uglify-js": "^3.1.4"
4115
                 "uglify-js": "^3.1.4"
4101
             }
4116
             }
4102
         },
4117
         },
4118
+        "node_modules/hapi-auth-jwt2": {
4119
+            "version": "10.4.0",
4120
+            "resolved": "https://registry.npmjs.org/hapi-auth-jwt2/-/hapi-auth-jwt2-10.4.0.tgz",
4121
+            "integrity": "sha512-x733a6bdLSd0bMQeuvkENlNwLRHzsenhoUan7JQLEIizqTWPzPJtukixjx+LCLMyC/5BG3Si4npVB5mqfIMAog==",
4122
+            "dependencies": {
4123
+                "@hapi/boom": "^9.0.0",
4124
+                "cookie": "^0.4.0",
4125
+                "jsonwebtoken": "^9.0.0"
4126
+            },
4127
+            "engines": {
4128
+                "node": ">=12.0.0"
4129
+            }
4130
+        },
4103
         "node_modules/hapi-swagger": {
4131
         "node_modules/hapi-swagger": {
4104
             "version": "14.5.5",
4132
             "version": "14.5.5",
4105
             "resolved": "https://registry.npmjs.org/hapi-swagger/-/hapi-swagger-14.5.5.tgz",
4133
             "resolved": "https://registry.npmjs.org/hapi-swagger/-/hapi-swagger-14.5.5.tgz",
5013
                 "node": ">=6"
5041
                 "node": ">=6"
5014
             }
5042
             }
5015
         },
5043
         },
5044
+        "node_modules/jsonwebtoken": {
5045
+            "version": "9.0.0",
5046
+            "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz",
5047
+            "integrity": "sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==",
5048
+            "dependencies": {
5049
+                "jws": "^3.2.2",
5050
+                "lodash": "^4.17.21",
5051
+                "ms": "^2.1.1",
5052
+                "semver": "^7.3.8"
5053
+            },
5054
+            "engines": {
5055
+                "node": ">=12",
5056
+                "npm": ">=6"
5057
+            }
5058
+        },
5059
+        "node_modules/jsonwebtoken/node_modules/semver": {
5060
+            "version": "7.5.3",
5061
+            "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
5062
+            "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
5063
+            "dependencies": {
5064
+                "lru-cache": "^6.0.0"
5065
+            },
5066
+            "bin": {
5067
+                "semver": "bin/semver.js"
5068
+            },
5069
+            "engines": {
5070
+                "node": ">=10"
5071
+            }
5072
+        },
5016
         "node_modules/just-extend": {
5073
         "node_modules/just-extend": {
5017
             "version": "4.2.1",
5074
             "version": "4.2.1",
5018
             "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz",
5075
             "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz",
5019
             "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==",
5076
             "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==",
5020
             "dev": true
5077
             "dev": true
5021
         },
5078
         },
5079
+        "node_modules/jwa": {
5080
+            "version": "1.4.1",
5081
+            "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz",
5082
+            "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==",
5083
+            "dependencies": {
5084
+                "buffer-equal-constant-time": "1.0.1",
5085
+                "ecdsa-sig-formatter": "1.0.11",
5086
+                "safe-buffer": "^5.0.1"
5087
+            }
5088
+        },
5089
+        "node_modules/jws": {
5090
+            "version": "3.2.2",
5091
+            "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz",
5092
+            "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==",
5093
+            "dependencies": {
5094
+                "jwa": "^1.4.1",
5095
+                "safe-buffer": "^5.0.1"
5096
+            }
5097
+        },
5022
         "node_modules/keyv": {
5098
         "node_modules/keyv": {
5023
             "version": "3.1.0",
5099
             "version": "3.1.0",
5024
             "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
5100
             "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
10151
                 "ieee754": "^1.1.13"
10227
                 "ieee754": "^1.1.13"
10152
             }
10228
             }
10153
         },
10229
         },
10230
+        "buffer-equal-constant-time": {
10231
+            "version": "1.0.1",
10232
+            "resolved": "https://registry.npmjs.org/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz",
10233
+            "integrity": "sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA=="
10234
+        },
10154
         "buffer-from": {
10235
         "buffer-from": {
10155
             "version": "1.1.1",
10236
             "version": "1.1.1",
10156
             "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
10237
             "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz",
10610
             "integrity": "sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU=",
10691
             "integrity": "sha1-fj5Iu+bZl7FBfdyihoIEtNPYVxU=",
10611
             "dev": true
10692
             "dev": true
10612
         },
10693
         },
10694
+        "cookie": {
10695
+            "version": "0.4.2",
10696
+            "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.4.2.tgz",
10697
+            "integrity": "sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA=="
10698
+        },
10613
         "cookiejar": {
10699
         "cookiejar": {
10614
             "version": "2.1.4",
10700
             "version": "2.1.4",
10615
             "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz",
10701
             "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.4.tgz",
11722
                 "wordwrap": "^1.0.0"
11808
                 "wordwrap": "^1.0.0"
11723
             }
11809
             }
11724
         },
11810
         },
11811
+        "hapi-auth-jwt2": {
11812
+            "version": "10.4.0",
11813
+            "resolved": "https://registry.npmjs.org/hapi-auth-jwt2/-/hapi-auth-jwt2-10.4.0.tgz",
11814
+            "integrity": "sha512-x733a6bdLSd0bMQeuvkENlNwLRHzsenhoUan7JQLEIizqTWPzPJtukixjx+LCLMyC/5BG3Si4npVB5mqfIMAog==",
11815
+            "requires": {
11816
+                "@hapi/boom": "^9.0.0",
11817
+                "cookie": "^0.4.0",
11818
+                "jsonwebtoken": "^9.0.0"
11819
+            }
11820
+        },
11725
         "hapi-swagger": {
11821
         "hapi-swagger": {
11726
             "version": "14.5.5",
11822
             "version": "14.5.5",
11727
             "resolved": "https://registry.npmjs.org/hapi-swagger/-/hapi-swagger-14.5.5.tgz",
11823
             "resolved": "https://registry.npmjs.org/hapi-swagger/-/hapi-swagger-14.5.5.tgz",
12408
                 "minimist": "^1.2.5"
12504
                 "minimist": "^1.2.5"
12409
             }
12505
             }
12410
         },
12506
         },
12507
+        "jsonwebtoken": {
12508
+            "version": "9.0.0",
12509
+            "resolved": "https://registry.npmjs.org/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz",
12510
+            "integrity": "sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==",
12511
+            "requires": {
12512
+                "jws": "^3.2.2",
12513
+                "lodash": "^4.17.21",
12514
+                "ms": "^2.1.1",
12515
+                "semver": "^7.3.8"
12516
+            },
12517
+            "dependencies": {
12518
+                "semver": {
12519
+                    "version": "7.5.3",
12520
+                    "resolved": "https://registry.npmjs.org/semver/-/semver-7.5.3.tgz",
12521
+                    "integrity": "sha512-QBlUtyVk/5EeHbi7X0fw6liDZc7BBmEaSYn01fMU1OUYbf6GPsbTtd8WmnqbI20SeycoHSeiybkE/q1Q+qlThQ==",
12522
+                    "requires": {
12523
+                        "lru-cache": "^6.0.0"
12524
+                    }
12525
+                }
12526
+            }
12527
+        },
12411
         "just-extend": {
12528
         "just-extend": {
12412
             "version": "4.2.1",
12529
             "version": "4.2.1",
12413
             "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz",
12530
             "resolved": "https://registry.npmjs.org/just-extend/-/just-extend-4.2.1.tgz",
12414
             "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==",
12531
             "integrity": "sha512-g3UB796vUFIY90VIv/WX3L2c8CS2MdWUww3CNrYmqza1Fg0DURc2K/O4YrnklBdQarSJ/y8JnJYDGc+1iumQjg==",
12415
             "dev": true
12532
             "dev": true
12416
         },
12533
         },
12534
+        "jwa": {
12535
+            "version": "1.4.1",
12536
+            "resolved": "https://registry.npmjs.org/jwa/-/jwa-1.4.1.tgz",
12537
+            "integrity": "sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==",
12538
+            "requires": {
12539
+                "buffer-equal-constant-time": "1.0.1",
12540
+                "ecdsa-sig-formatter": "1.0.11",
12541
+                "safe-buffer": "^5.0.1"
12542
+            }
12543
+        },
12544
+        "jws": {
12545
+            "version": "3.2.2",
12546
+            "resolved": "https://registry.npmjs.org/jws/-/jws-3.2.2.tgz",
12547
+            "integrity": "sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==",
12548
+            "requires": {
12549
+                "jwa": "^1.4.1",
12550
+                "safe-buffer": "^5.0.1"
12551
+            }
12552
+        },
12417
         "keyv": {
12553
         "keyv": {
12418
             "version": "3.1.0",
12554
             "version": "3.1.0",
12419
             "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",
12555
             "resolved": "https://registry.npmjs.org/keyv/-/keyv-3.1.0.tgz",

+ 2
- 0
backend/package.json Переглянути файл

29
         "compute-cosine-similarity": "^1.0.0",
29
         "compute-cosine-similarity": "^1.0.0",
30
         "dotenv": "^10.0.0",
30
         "dotenv": "^10.0.0",
31
         "exiting": "^6.0.1",
31
         "exiting": "^6.0.1",
32
+        "hapi-auth-jwt2": "^10.4.0",
32
         "hapi-swagger": "^14.5.5",
33
         "hapi-swagger": "^14.5.5",
33
         "haversine": "^1.1.1",
34
         "haversine": "^1.1.1",
34
         "joi": "^17.4.0",
35
         "joi": "^17.4.0",
36
+        "jsonwebtoken": "^9.0.0",
35
         "knex": "^0.21.19",
37
         "knex": "^0.21.19",
36
         "mysql": "^2.18.1",
38
         "mysql": "^2.18.1",
37
         "objection": "^2.2.18",
39
         "objection": "^2.2.18",

+ 0
- 1
frontend/src/views/OnboardingView.vue Переглянути файл

81
         const sessionData = await this.authenticator.validateSession(
81
         const sessionData = await this.authenticator.validateSession(
82
             sessionToken,
82
             sessionToken,
83
         )
83
         )
84
-        console.log('sessionData :=>', sessionData)
85
         // if (sessionData.isValid && !accessToken) {
84
         // if (sessionData.isValid && !accessToken) {
86
         if (sessionData.isValid) {
85
         if (sessionData.isValid) {
87
             this.userEmail = sessionData.payload.email
86
             this.userEmail = sessionData.payload.email

Завантаження…
Відмінити
Зберегти