Skip to content

Commit f1ee00b

Browse files
committed
Move to express-oauth2-jwt-bearer
1 parent de8d5be commit f1ee00b

File tree

3 files changed

+15
-125
lines changed

3 files changed

+15
-125
lines changed

Sample-01/api-server.js

Lines changed: 3 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -2,8 +2,7 @@ const express = require("express");
22
const cors = require("cors");
33
const morgan = require("morgan");
44
const helmet = require("helmet");
5-
const { expressjwt: jwt } = require("express-jwt");
6-
const jwksRsa = require("jwks-rsa");
5+
const { auth } = require("express-oauth2-jwt-bearer");
76
const authConfig = require("./src/auth_config.json");
87

98
const app = express();
@@ -28,16 +27,9 @@ app.use(morgan("dev"));
2827
app.use(helmet());
2928
app.use(cors({ origin: appOrigin }));
3029

31-
const checkJwt = jwt({
32-
secret: jwksRsa.expressJwtSecret({
33-
cache: true,
34-
rateLimit: true,
35-
jwksRequestsPerMinute: 5,
36-
jwksUri: `https://${authConfig.domain}/.well-known/jwks.json`,
37-
}),
38-
30+
const checkJwt = auth({
3931
audience: authConfig.audience,
40-
issuer: `https://${authConfig.domain}/`,
32+
issuerBaseURL: `https://${authConfig.domain}/`,
4133
algorithms: ["RS256"],
4234
});
4335

Sample-01/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,9 @@
2626
"autoprefixer": "^10.4",
2727
"cors": "^2.8",
2828
"express": "^4.18",
29-
"express-jwt": "^8.4.0",
29+
"express-oauth2-jwt-bearer": "^1.3.0",
3030
"helmet": "^4.4",
3131
"highlight.js": "^10.0",
32-
"jwks-rsa": "^3.0.0",
3332
"morgan": "^1.9",
3433
"npm-run-all": "^4.1",
3534
"postcss": "^8.4",

Sample-01/yarn.lock

Lines changed: 11 additions & 112 deletions
Original file line numberDiff line numberDiff line change
@@ -1958,7 +1958,7 @@
19581958
"@types/qs" "*"
19591959
"@types/range-parser" "*"
19601960

1961-
"@types/express@*", "@types/express@^4.17.13", "@types/express@^4.17.14":
1961+
"@types/express@*", "@types/express@^4.17.13":
19621962
version "4.17.15"
19631963
resolved "https://registry.yarnpkg.com/@types/express/-/express-4.17.15.tgz#9290e983ec8b054b65a5abccb610411953d417ff"
19641964
integrity sha512-Yv0k4bXGOH+8a+7bELd2PqHQsuiANB+A8a4gnQrkRWzrkKlb6KHaVvyXhqs04sVW/OWlbPyYxRgYlIXLfrufMQ==
@@ -2024,13 +2024,6 @@
20242024
resolved "https://registry.yarnpkg.com/@types/json5/-/json5-0.0.29.tgz#ee28707ae94e11d2b827bcbe5270bcea7f3e71ee"
20252025
integrity sha512-dRLjCWHYg4oaA77cxO64oO+7JwCwnIzkZPdrrC71jQmQtlhM556pwKo5bUzqvZndkVbeFLIIi+9TC40JNF5hNQ==
20262026

2027-
"@types/jsonwebtoken@^9", "@types/jsonwebtoken@^9.0.0":
2028-
version "9.0.1"
2029-
resolved "https://registry.yarnpkg.com/@types/jsonwebtoken/-/jsonwebtoken-9.0.1.tgz#29b1369c4774200d6d6f63135bf3d1ba3ef997a4"
2030-
integrity sha512-c5ltxazpWabia/4UzhIoaDcIza4KViOQhdbjRlfcIGVnsE3c3brkz9Z+F/EeJIECOQP7W7US2hNE930cWWkPiw==
2031-
dependencies:
2032-
"@types/node" "*"
2033-
20342027
"@types/mime@*":
20352028
version "3.0.1"
20362029
resolved "https://registry.yarnpkg.com/@types/mime/-/mime-3.0.1.tgz#5f8f2bca0a5863cb69bc0b0acd88c96cb1d4ae10"
@@ -2964,11 +2957,6 @@ bser@2.1.1:
29642957
dependencies:
29652958
node-int64 "^0.4.0"
29662959

2967-
buffer-equal-constant-time@1.0.1:
2968-
version "1.0.1"
2969-
resolved "https://registry.yarnpkg.com/buffer-equal-constant-time/-/buffer-equal-constant-time-1.0.1.tgz#f8e71132f7ffe6e01a5c9697a4c6f3e48d5cc819"
2970-
integrity sha512-zRpUiDwd/xk6ADqPMATG8vc9VPrkck7T07OIx0gnjmJAnHnTVXNQG3vfvWNuiZIkwu9KrKdA1iJKfsfTVxE6NA==
2971-
29722960
buffer-from@^1.0.0:
29732961
version "1.1.2"
29742962
resolved "https://registry.yarnpkg.com/buffer-from/-/buffer-from-1.1.2.tgz#2b146a6fd72e80b4f55d255f35ed59a3a9a41bd5"
@@ -3882,13 +3870,6 @@ duplexer@^0.1.2:
38823870
resolved "https://registry.yarnpkg.com/duplexer/-/duplexer-0.1.2.tgz#3abe43aef3835f8ae077d136ddce0f276b0400e6"
38833871
integrity sha512-jtD6YG370ZCIi/9GTaJKQxWTZD045+4R4hTk/x1UyoqadyJ9x9CgSi1RlVDQF8U2sxLLSnFkCaMihqljHIWgMg==
38843872

3885-
ecdsa-sig-formatter@1.0.11:
3886-
version "1.0.11"
3887-
resolved "https://registry.yarnpkg.com/ecdsa-sig-formatter/-/ecdsa-sig-formatter-1.0.11.tgz#ae0f0fa2d85045ef14a817daa3ce9acd0489e5bf"
3888-
integrity sha512-nagl3RYrbNv6kQkeJIpt6NJZy8twLB/2vtz6yN9Z4vRKHN4/QZJIEbqohALSgwKdnksuY3k5Addp5lg8sVoVcQ==
3889-
dependencies:
3890-
safe-buffer "^5.0.1"
3891-
38923873
ee-first@1.1.1:
38933874
version "1.1.1"
38943875
resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d"
@@ -4409,19 +4390,12 @@ expect@^29.0.0:
44094390
jest-message-util "^29.3.1"
44104391
jest-util "^29.3.1"
44114392

4412-
express-jwt@^8.4.0:
4413-
version "8.4.0"
4414-
resolved "https://registry.yarnpkg.com/express-jwt/-/express-jwt-8.4.0.tgz#40a23647779b17d64958f77e10b945172b1af506"
4415-
integrity sha512-AvIkHI6+wuwHQTgfnl4kEPWeMKo5yw4FnXJJK+jf/PRWAflmuJKTs06ENRNJ6sCQceIUVqAi/fy8Nav8alnv0w==
4393+
express-oauth2-jwt-bearer@^1.3.0:
4394+
version "1.3.0"
4395+
resolved "https://registry.yarnpkg.com/express-oauth2-jwt-bearer/-/express-oauth2-jwt-bearer-1.3.0.tgz#53761c5e917d5df6bf92e7f95b11e31710a114b6"
4396+
integrity sha512-m8UyAxL9eHpDDmSxWEaKLEPlE+6lfRCT/z3i2Cm0MYajUP4L/WFaZ66ch5KrPPiHEy91op6fhzZ0RTN8Ldap1Q==
44164397
dependencies:
4417-
"@types/jsonwebtoken" "^9"
4418-
express-unless "^2.1.3"
4419-
jsonwebtoken "^9.0.0"
4420-
4421-
express-unless@^2.1.3:
4422-
version "2.1.3"
4423-
resolved "https://registry.yarnpkg.com/express-unless/-/express-unless-2.1.3.tgz#f951c6cca52a24da3de32d42cfd4db57bc0f9a2e"
4424-
integrity sha512-wj4tLMyCVYuIIKHGt0FhCtIViBcwzWejX0EjNxveAa6dG+0XBCQhMbx+PnkLkFCxLC69qoFrxds4pIyL88inaQ==
4398+
jose "^4.9.2"
44254399

44264400
express@^4.17.3, express@^4.18:
44274401
version "4.18.2"
@@ -6048,10 +6022,10 @@ jest@^27.4.3:
60486022
import-local "^3.0.2"
60496023
jest-cli "^27.5.1"
60506024

6051-
jose@^4.10.4:
6052-
version "4.11.2"
6053-
resolved "https://registry.yarnpkg.com/jose/-/jose-4.11.2.tgz#d9699307c02e18ff56825843ba90e2fae9f09e23"
6054-
integrity sha512-njj0VL2TsIxCtgzhO+9RRobBvws4oYyCM8TpvoUQwl/MbIM3NFJRR9+e6x0sS5xXaP1t6OCBkaBME98OV9zU5A==
6025+
jose@^4.9.2:
6026+
version "4.13.1"
6027+
resolved "https://registry.yarnpkg.com/jose/-/jose-4.13.1.tgz#449111bb5ab171db85c03f1bd2cb1647ca06db1c"
6028+
integrity sha512-MSJQC5vXco5Br38mzaQKiq9mwt7lwj2eXpgpRyQYNHYt2lq1PjkWa7DLXX0WVcQLE9HhMh3jPiufS7fhJf+CLQ==
60556029

60566030
js-sdsl@^4.1.4:
60576031
version "4.2.0"
@@ -6177,16 +6151,6 @@ jsonpointer@^5.0.0:
61776151
resolved "https://registry.yarnpkg.com/jsonpointer/-/jsonpointer-5.0.1.tgz#2110e0af0900fd37467b5907ecd13a7884a1b559"
61786152
integrity sha512-p/nXbhSEcu3pZRdkW1OfJhpsVtW1gd4Wa1fnQc9YLiTfAjn0312eMKimbdIQzuZl9aa9xUGaRlP9T/CJE/ditQ==
61796153

6180-
jsonwebtoken@^9.0.0:
6181-
version "9.0.0"
6182-
resolved "https://registry.yarnpkg.com/jsonwebtoken/-/jsonwebtoken-9.0.0.tgz#d0faf9ba1cc3a56255fe49c0961a67e520c1926d"
6183-
integrity sha512-tuGfYXxkQGDPnLJ7SibiQgVgeDgfbPq2k2ICcbgqW8WxWLBAxKQM/ZCu/IT8SOSwmaYl4dpTFCW5xZv7YbbWUw==
6184-
dependencies:
6185-
jws "^3.2.2"
6186-
lodash "^4.17.21"
6187-
ms "^2.1.1"
6188-
semver "^7.3.8"
6189-
61906154
"jsx-ast-utils@^2.4.1 || ^3.0.0", jsx-ast-utils@^3.3.3:
61916155
version "3.3.3"
61926156
resolved "https://registry.yarnpkg.com/jsx-ast-utils/-/jsx-ast-utils-3.3.3.tgz#76b3e6e6cece5c69d49a5792c3d01bd1a0cdc7ea"
@@ -6195,35 +6159,6 @@ jsonwebtoken@^9.0.0:
61956159
array-includes "^3.1.5"
61966160
object.assign "^4.1.3"
61976161

6198-
jwa@^1.4.1:
6199-
version "1.4.1"
6200-
resolved "https://registry.yarnpkg.com/jwa/-/jwa-1.4.1.tgz#743c32985cb9e98655530d53641b66c8645b039a"
6201-
integrity sha512-qiLX/xhEEFKUAJ6FiBMbes3w9ATzyk5W7Hvzpa/SLYdxNtng+gcurvrI7TbACjIXlsJyr05/S1oUhZrc63evQA==
6202-
dependencies:
6203-
buffer-equal-constant-time "1.0.1"
6204-
ecdsa-sig-formatter "1.0.11"
6205-
safe-buffer "^5.0.1"
6206-
6207-
jwks-rsa@^3.0.0:
6208-
version "3.0.1"
6209-
resolved "https://registry.yarnpkg.com/jwks-rsa/-/jwks-rsa-3.0.1.tgz#ba79ddca7ee7520f7bb26b942ef1aee91df8d7e4"
6210-
integrity sha512-UUOZ0CVReK1QVU3rbi9bC7N5/le8ziUj0A2ef1Q0M7OPD2KvjEYizptqIxGIo6fSLYDkqBrazILS18tYuRc8gw==
6211-
dependencies:
6212-
"@types/express" "^4.17.14"
6213-
"@types/jsonwebtoken" "^9.0.0"
6214-
debug "^4.3.4"
6215-
jose "^4.10.4"
6216-
limiter "^1.1.5"
6217-
lru-memoizer "^2.1.4"
6218-
6219-
jws@^3.2.2:
6220-
version "3.2.2"
6221-
resolved "https://registry.yarnpkg.com/jws/-/jws-3.2.2.tgz#001099f3639468c9414000e99995fa52fb478304"
6222-
integrity sha512-YHlZCB6lMTllWDtSPHz/ZXTsi8S00usEV6v1tjq8tOUZzw7DpSDWVXjXDre6ed1w/pd495ODpHZYSdkRTsa0HA==
6223-
dependencies:
6224-
jwa "^1.4.1"
6225-
safe-buffer "^5.0.1"
6226-
62276162
kind-of@^6.0.2:
62286163
version "6.0.3"
62296164
resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.3.tgz#07c05034a6c349fa06e24fa35aa76db4580ce4dd"
@@ -6277,11 +6212,6 @@ lilconfig@^2.0.3, lilconfig@^2.0.5, lilconfig@^2.0.6:
62776212
resolved "https://registry.yarnpkg.com/lilconfig/-/lilconfig-2.0.6.tgz#32a384558bd58af3d4c6e077dd1ad1d397bc69d4"
62786213
integrity sha512-9JROoBW7pobfsx+Sq2JsASvCo6Pfo6WWoUW79HuB1BCoBXD4PLWJPqDF6fNj67pqBYTbAHkE57M1kS/+L1neOg==
62796214

6280-
limiter@^1.1.5:
6281-
version "1.1.5"
6282-
resolved "https://registry.yarnpkg.com/limiter/-/limiter-1.1.5.tgz#8f92a25b3b16c6131293a0cc834b4a838a2aa7c2"
6283-
integrity sha512-FWWMIEOxz3GwUI4Ts/IvgVy6LPvoMPgjMdQ185nN6psJyBJ4yOpzqm695/h5umdLJg2vW3GR5iG11MAkR2AzJA==
6284-
62856215
lines-and-columns@^1.1.6:
62866216
version "1.2.4"
62876217
resolved "https://registry.yarnpkg.com/lines-and-columns/-/lines-and-columns-1.2.4.tgz#eca284f75d2965079309dc0ad9255abb2ebc1632"
@@ -6338,11 +6268,6 @@ locate-path@^6.0.0:
63386268
dependencies:
63396269
p-locate "^5.0.0"
63406270

6341-
lodash.clonedeep@^4.5.0:
6342-
version "4.5.0"
6343-
resolved "https://registry.yarnpkg.com/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz#e23f3f9c4f8fbdde872529c1071857a086e5ccef"
6344-
integrity sha512-H5ZhCF25riFd9uB5UCkVKo61m3S/xZk1x4wA6yp/L3RFP6Z/eHH1ymQcGLo7J3GMPfm0V/7m1tryHuGVxpqEBQ==
6345-
63466271
lodash.debounce@^4.0.8:
63476272
version "4.0.8"
63486273
resolved "https://registry.yarnpkg.com/lodash.debounce/-/lodash.debounce-4.0.8.tgz#82d79bff30a67c4005ffd5e2515300ad9ca4d7af"
@@ -6401,22 +6326,6 @@ lru-cache@^6.0.0:
64016326
dependencies:
64026327
yallist "^4.0.0"
64036328

6404-
lru-cache@~4.0.0:
6405-
version "4.0.2"
6406-
resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.0.2.tgz#1d17679c069cda5d040991a09dbc2c0db377e55e"
6407-
integrity sha512-uQw9OqphAGiZhkuPlpFGmdTU2tEuhxTourM/19qGJrxBPHAr/f8BT1a0i/lOclESnGatdJG/UCkP9kZB/Lh1iw==
6408-
dependencies:
6409-
pseudomap "^1.0.1"
6410-
yallist "^2.0.0"
6411-
6412-
lru-memoizer@^2.1.4:
6413-
version "2.1.4"
6414-
resolved "https://registry.yarnpkg.com/lru-memoizer/-/lru-memoizer-2.1.4.tgz#b864d92b557f00b1eeb322156a0409cb06dafac6"
6415-
integrity sha512-IXAq50s4qwrOBrXJklY+KhgZF+5y98PDaNo0gi/v2KQBFLyWr+JyFvijZXkGKjQj/h9c0OwoE+JZbwUXce76hQ==
6416-
dependencies:
6417-
lodash.clonedeep "^4.5.0"
6418-
lru-cache "~4.0.0"
6419-
64206329
lz-string@^1.4.4:
64216330
version "1.4.4"
64226331
resolved "https://registry.yarnpkg.com/lz-string/-/lz-string-1.4.4.tgz#c0d8eaf36059f705796e1e344811cf4c498d3a26"
@@ -7757,11 +7666,6 @@ proxy-addr@~2.0.7:
77577666
forwarded "0.2.0"
77587667
ipaddr.js "1.9.1"
77597668

7760-
pseudomap@^1.0.1:
7761-
version "1.0.2"
7762-
resolved "https://registry.yarnpkg.com/pseudomap/-/pseudomap-1.0.2.tgz#f052a28da70e618917ef0a8ac34c1ae5a68286b3"
7763-
integrity sha512-b/YwNhb8lk1Zz2+bXXpS/LK9OisiZZ1SNsSLxN1x2OXVEhW2Ckr/7mWE5vrC1ZTiJlD9g19jWszTmJsB+oEpFQ==
7764-
77657669
psl@^1.1.33:
77667670
version "1.9.0"
77677671
resolved "https://registry.yarnpkg.com/psl/-/psl-1.9.0.tgz#d0df2a137f00794565fcaf3b2c00cd09f8d5a5a7"
@@ -8299,7 +8203,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1:
82998203
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d"
83008204
integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==
83018205

8302-
safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.0.1, safe-buffer@^5.1.0, safe-buffer@~5.2.0:
8206+
safe-buffer@5.2.1, safe-buffer@>=5.1.0, safe-buffer@^5.1.0, safe-buffer@~5.2.0:
83038207
version "5.2.1"
83048208
resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.1.tgz#1eaf9fa9bdb1fdd4ec75f58f9cdb4e6b7827eec6"
83058209
integrity sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==
@@ -9853,11 +9757,6 @@ y18n@^5.0.5:
98539757
resolved "https://registry.yarnpkg.com/y18n/-/y18n-5.0.8.tgz#7f4934d0f7ca8c56f95314939ddcd2dd91ce1d55"
98549758
integrity sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==
98559759

9856-
yallist@^2.0.0:
9857-
version "2.1.2"
9858-
resolved "https://registry.yarnpkg.com/yallist/-/yallist-2.1.2.tgz#1c11f9218f076089a47dd512f93c6699a6a81d52"
9859-
integrity sha512-ncTzHV7NvsQZkYe1DW7cbDLm0YpzHmZF5r/iyP3ZnQtMiJ+pjzisCiMNI+Sj+xQF5pXhSHxSB3uDbsBTzY/c2A==
9860-
98619760
yallist@^3.0.2:
98629761
version "3.1.1"
98639762
resolved "https://registry.yarnpkg.com/yallist/-/yallist-3.1.1.tgz#dbb7daf9bfd8bac9ab45ebf602b8cbad0d5d08fd"

0 commit comments

Comments
 (0)