Skip to content

Commit 3779e33

Browse files
authored
Merge pull request #25327 from r-vasquez/bump-sec-fixes
rpk: bump dependencies to include security fixes
2 parents b790775 + 3c49a8e commit 3779e33

File tree

7 files changed

+51
-44
lines changed

7 files changed

+51
-44
lines changed

MODULE.bazel

+1-1
Original file line numberDiff line numberDiff line change
@@ -221,7 +221,7 @@ use_repo(
221221
"com_github_kballard_go_shellquote",
222222
"com_github_kr_pretty",
223223
"com_github_kr_text",
224-
"com_github_lestrrat_go_jwx",
224+
"com_github_lestrrat_go_jwx_v2",
225225
"com_github_linkedin_goavro_v2",
226226
"com_github_lorenzosaino_go_sysctl",
227227
"com_github_mattn_go_isatty",

MODULE.bazel.lock

+1-1
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

src/go/rpk/go.mod

+10-9
Original file line numberDiff line numberDiff line change
@@ -30,7 +30,7 @@ require (
3030
github.com/hashicorp/go-multierror v1.1.1
3131
github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
3232
github.com/kr/text v0.2.0
33-
github.com/lestrrat-go/jwx v1.2.30
33+
github.com/lestrrat-go/jwx/v2 v2.1.5-0.20250226052408-de7d95fda31a
3434
github.com/linkedin/goavro/v2 v2.13.1
3535
github.com/lorenzosaino/go-sysctl v0.3.1
3636
github.com/mattn/go-isatty v0.0.20
@@ -60,9 +60,9 @@ require (
6060
github.com/twmb/types v1.1.6
6161
go.uber.org/zap v1.27.0
6262
golang.org/x/exp v0.0.0-20250207012021-f9890c6ad9f3
63-
golang.org/x/sync v0.11.0
64-
golang.org/x/sys v0.30.0
65-
golang.org/x/term v0.29.0
63+
golang.org/x/sync v0.12.0
64+
golang.org/x/sys v0.31.0
65+
golang.org/x/term v0.30.0
6666
google.golang.org/protobuf v1.36.5
6767
gopkg.in/yaml.v3 v3.0.1
6868
k8s.io/api v0.32.1
@@ -79,7 +79,7 @@ require (
7979
github.com/cloudflare/cfssl v1.6.5 // indirect
8080
github.com/containerd/log v0.1.0 // indirect
8181
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc // indirect
82-
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 // indirect
82+
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 // indirect
8383
github.com/distribution/reference v0.6.0 // indirect
8484
github.com/emicklei/go-restful/v3 v3.12.1 // indirect
8585
github.com/felixge/httpsnoop v1.0.4 // indirect
@@ -104,9 +104,9 @@ require (
104104
github.com/josharian/intern v1.0.0 // indirect
105105
github.com/json-iterator/go v1.1.12 // indirect
106106
github.com/klauspost/compress v1.17.11 // indirect
107-
github.com/lestrrat-go/backoff/v2 v2.0.8 // indirect
108107
github.com/lestrrat-go/blackmagic v1.0.2 // indirect
109108
github.com/lestrrat-go/httpcc v1.0.1 // indirect
109+
github.com/lestrrat-go/httprc v1.0.6 // indirect
110110
github.com/lestrrat-go/iter v1.0.2 // indirect
111111
github.com/lestrrat-go/option v1.0.1 // indirect
112112
github.com/mailru/easyjson v0.9.0 // indirect
@@ -123,6 +123,7 @@ require (
123123
github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect
124124
github.com/redpanda-data/common-go/net v0.1.0 // indirect
125125
github.com/rivo/uniseg v0.4.7 // indirect
126+
github.com/segmentio/asm v1.2.0 // indirect
126127
github.com/sethgrid/pester v1.2.0 // indirect
127128
github.com/tklauser/numcpus v0.9.0 // indirect
128129
github.com/x448/float16 v0.8.4 // indirect
@@ -133,13 +134,13 @@ require (
133134
go.opentelemetry.io/otel/metric v1.34.0 // indirect
134135
go.opentelemetry.io/otel/trace v1.34.0 // indirect
135136
go.uber.org/multierr v1.11.0 // indirect
136-
golang.org/x/crypto v0.33.0 // indirect
137+
golang.org/x/crypto v0.36.0 // indirect
137138
golang.org/x/exp/typeparams v0.0.0-20250207012021-f9890c6ad9f3 // indirect
138139
golang.org/x/lint v0.0.0-20241112194109-818c5a804067 // indirect
139140
golang.org/x/mod v0.23.0 // indirect
140-
golang.org/x/net v0.34.0 // indirect
141+
golang.org/x/net v0.37.0 // indirect
141142
golang.org/x/oauth2 v0.26.0 // indirect
142-
golang.org/x/text v0.22.0 // indirect
143+
golang.org/x/text v0.23.0 // indirect
143144
golang.org/x/time v0.10.0 // indirect
144145
golang.org/x/tools v0.29.0 // indirect
145146
google.golang.org/genproto v0.0.0-20250207221924-e9438ea467c6 // indirect

src/go/rpk/go.sum

+20-19
Original file line numberDiff line numberDiff line change
@@ -57,8 +57,8 @@ github.com/davecgh/go-spew v1.1.0/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSs
5757
github.com/davecgh/go-spew v1.1.1/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
5858
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc h1:U9qPSI2PIWSS1VwoXQT9A3Wy9MM3WgvqSxFWenqJduM=
5959
github.com/davecgh/go-spew v1.1.2-0.20180830191138-d8f796af33cc/go.mod h1:J7Y8YcW2NihsgmVo/mv3lAwl/skON4iLHjSsI+c5H38=
60-
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0 h1:rpfIENRNNilwHwZeG5+P150SMrnNEcHYvcCuK6dPZSg=
61-
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.3.0/go.mod h1:v57UDF4pDQJcEfFUCRop3lJL149eHGSe9Jvczhzjo/0=
60+
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0 h1:NMZiJj8QnKe1LgsbDayM4UoHwbvwDRwnI3hwNaAHRnc=
61+
github.com/decred/dcrd/dcrec/secp256k1/v4 v4.4.0/go.mod h1:ZXNYxsqcloTdSy/rNShjYzMhyjf0LaoftYK0p+A3h40=
6262
github.com/distribution/reference v0.6.0 h1:0IXCQ5g4/QMHHkarYzh5l+u8T3t73zM5QvfrDyIgxBk=
6363
github.com/distribution/reference v0.6.0/go.mod h1:BbU0aIcezP1/5jX/8MP0YiH4SdvB5Y4f/wlDRiLyi3E=
6464
github.com/dlclark/regexp2 v1.11.0 h1:G/nrcoOa7ZXlpoa/91N3X7mM3r8eIlMBBJZvsz/mxKI=
@@ -146,17 +146,16 @@ github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE=
146146
github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk=
147147
github.com/kr/text v0.2.0 h1:5Nx0Ya0ZqY2ygV366QzturHI13Jq95ApcVaJBhpS+AY=
148148
github.com/kr/text v0.2.0/go.mod h1:eLer722TekiGuMkidMxC/pM04lWEeraHUUmBw8l2grE=
149-
github.com/lestrrat-go/backoff/v2 v2.0.8 h1:oNb5E5isby2kiro9AgdHLv5N5tint1AnDVVf2E2un5A=
150-
github.com/lestrrat-go/backoff/v2 v2.0.8/go.mod h1:rHP/q/r9aT27n24JQLa7JhSQZCKBBOiM/uP402WwN8Y=
151149
github.com/lestrrat-go/blackmagic v1.0.2 h1:Cg2gVSc9h7sz9NOByczrbUvLopQmXrfFx//N+AkAr5k=
152150
github.com/lestrrat-go/blackmagic v1.0.2/go.mod h1:UrEqBzIR2U6CnzVyUtfM6oZNMt/7O7Vohk2J0OGSAtU=
153151
github.com/lestrrat-go/httpcc v1.0.1 h1:ydWCStUeJLkpYyjLDHihupbn2tYmZ7m22BGkcvZZrIE=
154152
github.com/lestrrat-go/httpcc v1.0.1/go.mod h1:qiltp3Mt56+55GPVCbTdM9MlqhvzyuL6W/NMDA8vA5E=
153+
github.com/lestrrat-go/httprc v1.0.6 h1:qgmgIRhpvBqexMJjA/PmwSvhNk679oqD1RbovdCGW8k=
154+
github.com/lestrrat-go/httprc v1.0.6/go.mod h1:mwwz3JMTPBjHUkkDv/IGJ39aALInZLrhBp0X7KGUZlo=
155155
github.com/lestrrat-go/iter v1.0.2 h1:gMXo1q4c2pHmC3dn8LzRhJfP1ceCbgSiT9lUydIzltI=
156156
github.com/lestrrat-go/iter v1.0.2/go.mod h1:Momfcq3AnRlRjI5b5O8/G5/BvpzrhoFTZcn06fEOPt4=
157-
github.com/lestrrat-go/jwx v1.2.30 h1:VKIFrmjYn0z2J51iLPadqoHIVLzvWNa1kCsTqNDHYPA=
158-
github.com/lestrrat-go/jwx v1.2.30/go.mod h1:vMxrwFhunGZ3qddmfmEm2+uced8MSI6QFWGTKygjSzQ=
159-
github.com/lestrrat-go/option v1.0.0/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I=
157+
github.com/lestrrat-go/jwx/v2 v2.1.5-0.20250226052408-de7d95fda31a h1:go+J0DsYdOT0wAWWwhVNJtMSBmEUX9Y44wN2mVPsKeQ=
158+
github.com/lestrrat-go/jwx/v2 v2.1.5-0.20250226052408-de7d95fda31a/go.mod h1:nWRbDFR1ALG2Z6GJbBXzfQaYyvn751KuuyySN2yR6is=
160159
github.com/lestrrat-go/option v1.0.1 h1:oAzP2fvZGQKWkvHa1/SAcFolBEca1oN+mQ7eooNBEYU=
161160
github.com/lestrrat-go/option v1.0.1/go.mod h1:5ZHFbivi4xwXxhxY9XHDe2FHo6/Z7WWmtT7T5nBBp3I=
162161
github.com/linkedin/goavro/v2 v2.13.1 h1:4qZ5M0QzQFDRqccsroJlgOJznqAS/TpdvXg55h429+I=
@@ -236,6 +235,8 @@ github.com/santhosh-tekuri/jsonschema/v6 v6.0.1 h1:PKK9DyHxif4LZo+uQSgXNqs0jj5+x
236235
github.com/santhosh-tekuri/jsonschema/v6 v6.0.1/go.mod h1:JXeL+ps8p7/KNMjDQk3TCwPpBy0wYklyWTfbkIzdIFU=
237236
github.com/schollz/progressbar/v3 v3.18.0 h1:uXdoHABRFmNIjUfte/Ex7WtuyVslrw2wVPQmCN62HpA=
238237
github.com/schollz/progressbar/v3 v3.18.0/go.mod h1:IsO3lpbaGuzh8zIMzgY3+J8l4C8GjO0Y9S69eFvNsec=
238+
github.com/segmentio/asm v1.2.0 h1:9BQrFxC+YOHJlTlHGkTrFWf59nbL3XnCoFLTwDCI7ys=
239+
github.com/segmentio/asm v1.2.0/go.mod h1:BqMnlJP91P8d+4ibuonYZw9mfnzI9HfxselHZr5aAcs=
239240
github.com/sethgrid/pester v1.2.0 h1:adC9RS29rRUef3rIKWPOuP1Jm3/MmB6ke+OhE5giENI=
240241
github.com/sethgrid/pester v1.2.0/go.mod h1:hEUINb4RqvDxtoCaU0BNT/HV4ig5kfgOasrf1xcvr0A=
241242
github.com/sirupsen/logrus v1.9.3 h1:dueUQJ1C2q9oE3F7wvmSGAaVtTmUizReu6fjN8uqzbQ=
@@ -307,8 +308,8 @@ golang.org/x/crypto v0.0.0-20190308221718-c2843e01d9a2/go.mod h1:djNgcEr1/C05ACk
307308
golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI=
308309
golang.org/x/crypto v0.0.0-20200622213623-75b288015ac9/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto=
309310
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
310-
golang.org/x/crypto v0.33.0 h1:IOBPskki6Lysi0lo9qQvbxiQ+FvsCC/YWOecCHAixus=
311-
golang.org/x/crypto v0.33.0/go.mod h1:bVdXmD7IV/4GdElGPozy6U7lWdRXA4qyRVGJV57uQ5M=
311+
golang.org/x/crypto v0.36.0 h1:AnAEvhDddvBdpY+uR+MyHmuZzzNqXSe/GvuDeob5L34=
312+
golang.org/x/crypto v0.36.0/go.mod h1:Y4J0ReaxCR1IMaabaSMugxJES1EpwhBHhv2bDHklZvc=
312313
golang.org/x/exp v0.0.0-20250207012021-f9890c6ad9f3 h1:qNgPs5exUA+G0C96DrPwNrvLSj7GT/9D+3WMWUcUg34=
313314
golang.org/x/exp v0.0.0-20250207012021-f9890c6ad9f3/go.mod h1:tujkw807nyEEAamNbDrEGzRav+ilXA7PCRAd6xsmwiU=
314315
golang.org/x/exp/typeparams v0.0.0-20250207012021-f9890c6ad9f3 h1:w2c+/ogVo2eFFhGTMddgOF7WQkdOPwjh+MRS8wUnujk=
@@ -328,16 +329,16 @@ golang.org/x/net v0.0.0-20200226121028-0de0cce0169b/go.mod h1:z5CRVTTTmAJ677TzLL
328329
golang.org/x/net v0.0.0-20201021035429-f5854403a974/go.mod h1:sp8m0HH+o8qH0wwXwYZr8TS3Oi6o0r6Gce1SSxlDquU=
329330
golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg=
330331
golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c=
331-
golang.org/x/net v0.34.0 h1:Mb7Mrk043xzHgnRM88suvJFwzVrRfHEHJEl5/71CKw0=
332-
golang.org/x/net v0.34.0/go.mod h1:di0qlW3YNM5oh6GqDGQr92MyTozJPmybPK4Ev/Gm31k=
332+
golang.org/x/net v0.37.0 h1:1zLorHbz+LYj7MQlSf1+2tPIIgibq2eL5xkrGk6f+2c=
333+
golang.org/x/net v0.37.0/go.mod h1:ivrbrMbzFq5J41QOQh0siUuly180yBYtLp+CKbEaFx8=
333334
golang.org/x/oauth2 v0.26.0 h1:afQXWNNaeC4nvZ0Ed9XvCCzXM6UHJG7iCg0W4fPqSBE=
334335
golang.org/x/oauth2 v0.26.0/go.mod h1:XYTD2NtWslqkgxebSiOHnXEap4TF09sJSc7H1sXbhtI=
335336
golang.org/x/sync v0.0.0-20190423024810-112230192c58/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
336337
golang.org/x/sync v0.0.0-20190911185100-cd5d95a43a6e/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
337338
golang.org/x/sync v0.0.0-20201020160332-67f06af15bc9/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
338339
golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM=
339-
golang.org/x/sync v0.11.0 h1:GGz8+XQP4FvTTrjZPzNKTMFtSXH80RAzG+5ghFPgK9w=
340-
golang.org/x/sync v0.11.0/go.mod h1:Czt+wKu1gCyEFDUtn0jG5QVvpJ6rzVqr5aXyt9drQfk=
340+
golang.org/x/sync v0.12.0 h1:MHc5BpPuC30uJk597Ri8TV3CNZcTLu6B6z4lJy+g6Jw=
341+
golang.org/x/sync v0.12.0/go.mod h1:1dzgHSNfp02xaA81J2MS99Qcpr2w7fw1gpm99rleRqA=
341342
golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
342343
golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY=
343344
golang.org/x/sys v0.0.0-20190412213103-97732733099d/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs=
@@ -350,18 +351,18 @@ golang.org/x/sys v0.0.0-20220722155257-8c9f86f7a55f/go.mod h1:oPkhp1MJrh7nUepCBc
350351
golang.org/x/sys v0.1.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
351352
golang.org/x/sys v0.6.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
352353
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
353-
golang.org/x/sys v0.30.0 h1:QjkSwP/36a20jFYWkSue1YwXzLmsV5Gfq7Eiy72C1uc=
354-
golang.org/x/sys v0.30.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
354+
golang.org/x/sys v0.31.0 h1:ioabZlmFYtWhL+TRYpcnNlLwhyxaM9kWTDEmfnprqik=
355+
golang.org/x/sys v0.31.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k=
355356
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
356357
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
357-
golang.org/x/term v0.29.0 h1:L6pJp37ocefwRRtYPKSWOWzOtWSxVajvz2ldH/xi3iU=
358-
golang.org/x/term v0.29.0/go.mod h1:6bl4lRlvVuDgSf3179VpIxBF0o10JUpXWOnI7nErv7s=
358+
golang.org/x/term v0.30.0 h1:PQ39fJZ+mfadBm0y5WlL4vlM7Sx1Hgf13sMIY2+QS9Y=
359+
golang.org/x/term v0.30.0/go.mod h1:NYYFdzHoI5wRh/h5tDMdMqCqPJZEuNqVR5xJLd/n67g=
359360
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
360361
golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
361362
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
362363
golang.org/x/text v0.4.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
363-
golang.org/x/text v0.22.0 h1:bofq7m3/HAFvbF51jz3Q9wLg3jkvSPuiZu/pD1XwgtM=
364-
golang.org/x/text v0.22.0/go.mod h1:YRoo4H8PVmsu+E3Ou7cqLVH8oXWIHVoX0jqUWALQhfY=
364+
golang.org/x/text v0.23.0 h1:D71I7dUrlY+VX0gQShAThNGHFxZ13dGLBHQLVl1mJlY=
365+
golang.org/x/text v0.23.0/go.mod h1:/BLNzu4aZCJ1+kcD0DNRotWKage4q2rGVAg4o22unh4=
365366
golang.org/x/time v0.10.0 h1:3usCWA8tQn0L8+hFJQNgzpWbd89begxN66o1Ojdn5L4=
366367
golang.org/x/time v0.10.0/go.mod h1:3BpzKBy/shNhVucY/MWOyx10tF3SFh9QdLuxbVysPQM=
367368
golang.org/x/tools v0.0.0-20180917221912-90fa682c2a6e/go.mod h1:n7NCudcB/nEzxVGmLbDWY5pfWTLqBcC2KZ6jyYvM4mQ=

src/go/rpk/pkg/oauth/BUILD

+3-3
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ go_library(
1515
"//src/go/rpk/pkg/publicapi",
1616
"@build_buf_gen_go_redpandadata_cloud_protocolbuffers_go//redpanda/api/iam/v1beta2",
1717
"@com_connectrpc_connect//:connect",
18-
"@com_github_lestrrat_go_jwx//jwt",
18+
"@com_github_lestrrat_go_jwx_v2//jwt",
1919
"@com_github_spf13_afero//:afero",
2020
"@org_uber_go_zap//:zap",
2121
],
@@ -32,8 +32,8 @@ go_test(
3232
deps = [
3333
"//src/go/rpk/pkg/config",
3434
"@build_buf_gen_go_redpandadata_cloud_protocolbuffers_go//redpanda/api/iam/v1beta2",
35-
"@com_github_lestrrat_go_jwx//jwa",
36-
"@com_github_lestrrat_go_jwx//jwt",
35+
"@com_github_lestrrat_go_jwx_v2//jwa",
36+
"@com_github_lestrrat_go_jwx_v2//jwt",
3737
"@com_github_spf13_afero//:afero",
3838
"@com_github_stretchr_testify//require",
3939
"@org_golang_google_protobuf//proto",

src/go/rpk/pkg/oauth/oauth.go

+13-8
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"net/url"
88
"time"
99

10-
"github.com/lestrrat-go/jwx/jwt"
10+
"github.com/lestrrat-go/jwx/v2/jwt"
1111
"github.com/redpanda-data/redpanda/src/go/rpk/pkg/config"
1212
"go.uber.org/zap"
1313
)
@@ -198,9 +198,15 @@ func ValidateToken(token, audience string, clientIDs ...string) (expired bool, r
198198
return false, errors.New("invalid empty audience")
199199
}
200200

201-
parsed, err := jwt.Parse([]byte(token))
201+
parsed, err := jwt.Parse([]byte(token), jwt.WithVerify(false))
202202
if err != nil {
203-
return false, fmt.Errorf("unable to parse jwt token: %w", err)
203+
if errors.Is(err, jwt.ErrTokenExpired()) {
204+
return true, nil
205+
}
206+
if errors.Is(err, jwt.ErrInvalidAudience()) {
207+
return false, fmt.Errorf("token audience %v does not contain our expected audience %q", parsed.Audience(), audience)
208+
}
209+
return false, fmt.Errorf("unable to parse jwt token: %v", err)
204210
}
205211

206212
// A missing "exp" field shows up as a zero time.
@@ -211,14 +217,13 @@ func ValidateToken(token, audience string, clientIDs ...string) (expired bool, r
211217
err = jwt.Validate(parsed,
212218
jwt.WithAudience(audience))
213219
if err != nil {
214-
switch err.Error() {
215-
case "exp not satisfied":
220+
if errors.Is(err, jwt.ErrTokenExpired()) {
216221
return true, nil
217-
case "aud not satisfied":
222+
}
223+
if errors.Is(err, jwt.ErrInvalidAudience()) {
218224
return false, fmt.Errorf("token audience %v does not contain our expected audience %q", parsed.Audience(), audience)
219-
default:
220-
return false, err
221225
}
226+
return false, fmt.Errorf("token validation error: %v", err)
222227
}
223228

224229
for _, clientID := range clientIDs {

src/go/rpk/pkg/oauth/oauth_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -8,8 +8,8 @@ import (
88
"testing"
99
"time"
1010

11-
"github.com/lestrrat-go/jwx/jwa"
12-
"github.com/lestrrat-go/jwx/jwt"
11+
"github.com/lestrrat-go/jwx/v2/jwa"
12+
"github.com/lestrrat-go/jwx/v2/jwt"
1313
"github.com/redpanda-data/redpanda/src/go/rpk/pkg/config"
1414
"github.com/stretchr/testify/require"
1515
)
@@ -336,7 +336,7 @@ qaGyeeWSr7npaGhNfb59Mq++Cnk4IDPwNJYVFjw6qt9tSl0fJyBZw+iXvMPPlmxe
336336
tok.Set(jwt.ExpirationKey, test.expiry) // unix epoch, 0 time
337337
}
338338

339-
signed, err := jwt.Sign(tok, jwa.HS256, pkey)
339+
signed, err := jwt.Sign(tok, jwt.WithKey(jwa.HS256, pkey))
340340
if err != nil {
341341
t.Errorf("unexpected error while signing: %v", err)
342342
return

0 commit comments

Comments
 (0)