Skip to content

Commit 77bd4b6

Browse files
committed
chore: upgrade to jose v4 library
1 parent 75b904d commit 77bd4b6

25 files changed

+55
-56
lines changed

authorize_request_handler.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
"net/http"
1111
"strings"
1212

13-
"github.com/go-jose/go-jose/v3"
13+
"github.com/go-jose/go-jose/v4"
1414
"go.opentelemetry.io/otel/trace"
1515

1616
"github.com/ory/fosite/i18n"

authorize_request_handler_oidc_request_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616

1717
"github.com/pkg/errors"
1818

19-
"github.com/go-jose/go-jose/v3"
19+
"github.com/go-jose/go-jose/v4"
2020
"github.com/stretchr/testify/assert"
2121
"github.com/stretchr/testify/require"
2222

client.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
package fosite
55

66
import (
7-
"github.com/go-jose/go-jose/v3"
7+
"github.com/go-jose/go-jose/v4"
88
)
99

1010
// Client represents a client or an app.

client_authentication.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ import (
1616

1717
"github.com/ory/x/errorsx"
1818

19-
"github.com/go-jose/go-jose/v3"
19+
"github.com/go-jose/go-jose/v4"
2020
"github.com/pkg/errors"
2121

2222
"github.com/ory/fosite/token/jwt"

client_authentication_jwks_strategy.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import (
1313

1414
"github.com/ory/x/errorsx"
1515

16-
"github.com/go-jose/go-jose/v3"
16+
"github.com/go-jose/go-jose/v4"
1717
)
1818

1919
const defaultJWKSFetcherStrategyCachePrefix = "github.com/ory/fosite.DefaultJWKSFetcherStrategy:"

client_authentication_jwks_strategy_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ import (
1717

1818
"github.com/ory/fosite/internal/gen"
1919

20-
"github.com/go-jose/go-jose/v3"
20+
"github.com/go-jose/go-jose/v4"
2121
"github.com/stretchr/testify/assert"
2222
"github.com/stretchr/testify/require"
2323
)

client_authentication_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ import (
2020

2121
"github.com/ory/fosite/internal/gen"
2222

23-
"github.com/go-jose/go-jose/v3"
23+
"github.com/go-jose/go-jose/v4"
2424
"github.com/pkg/errors"
2525
"github.com/stretchr/testify/assert"
2626
"github.com/stretchr/testify/require"

go.mod

+4-4
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ require (
44
github.com/asaskevich/govalidator v0.0.0-20230301143203-a9d515a09cc2
55
github.com/cristalhq/jwt/v4 v4.0.2
66
github.com/dgraph-io/ristretto v1.0.0
7-
github.com/go-jose/go-jose/v3 v3.0.3
7+
github.com/go-jose/go-jose/v4 v4.0.5
88
github.com/google/uuid v1.6.0
99
github.com/gorilla/mux v1.8.0
1010
github.com/gorilla/websocket v1.5.0
@@ -18,11 +18,11 @@ require (
1818
github.com/ory/x v0.0.677
1919
github.com/parnurzeal/gorequest v0.2.15
2020
github.com/pkg/errors v0.9.1
21-
github.com/stretchr/testify v1.9.0
21+
github.com/stretchr/testify v1.10.0
2222
github.com/tidwall/gjson v1.14.3
2323
go.opentelemetry.io/otel/trace v1.32.0
2424
go.uber.org/mock v0.5.0
25-
golang.org/x/crypto v0.31.0
25+
golang.org/x/crypto v0.32.0
2626
golang.org/x/net v0.33.0
2727
golang.org/x/oauth2 v0.23.0
2828
golang.org/x/text v0.21.0
@@ -76,7 +76,7 @@ require (
7676
go.opentelemetry.io/proto/otlp v1.3.1 // indirect
7777
golang.org/x/mod v0.18.0 // indirect
7878
golang.org/x/sync v0.10.0 // indirect
79-
golang.org/x/sys v0.28.0 // indirect
79+
golang.org/x/sys v0.29.0 // indirect
8080
golang.org/x/tools v0.22.0 // indirect
8181
google.golang.org/genproto/googleapis/api v0.0.0-20241104194629-dd2ea8efbc28 // indirect
8282
google.golang.org/genproto/googleapis/rpc v0.0.0-20241104194629-dd2ea8efbc28 // indirect

go.sum

+8-16
Original file line numberDiff line numberDiff line change
@@ -91,8 +91,8 @@ github.com/fsnotify/fsnotify v1.6.0/go.mod h1:sl3t1tCWJFWoRz9R8WJCbQihKKwmorjAbS
9191
github.com/go-gl/glfw v0.0.0-20190409004039-e6da0acd62b1/go.mod h1:vR7hzQXu2zJy9AVAgeJqvqgH9Q5CA+iKCZ2gyEVpxRU=
9292
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20191125211704-12ad95a8df72/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
9393
github.com/go-gl/glfw/v3.3/glfw v0.0.0-20200222043503-6f7a984d4dc4/go.mod h1:tQ2UAYgL5IevRw8kRxooKSPJfGvJ9fJQFa0TUsXzTg8=
94-
github.com/go-jose/go-jose/v3 v3.0.3 h1:fFKWeig/irsp7XD2zBxvnmA/XaRWp5V3CBsZXJF7G7k=
95-
github.com/go-jose/go-jose/v3 v3.0.3/go.mod h1:5b+7YgP7ZICgJDBdfjZaIt+H/9L9T/YQrVfLAMboGkQ=
94+
github.com/go-jose/go-jose/v4 v4.0.5 h1:M6T8+mKZl/+fNNuFHvGIzDz7BTLQPIounk/b9dw3AaE=
95+
github.com/go-jose/go-jose/v4 v4.0.5/go.mod h1:s3P1lRrkT8igV8D9OjyL4WRyHvjB6a4JSllnOrmmBOA=
9696
github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY=
9797
github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A=
9898
github.com/go-logr/logr v1.2.2/go.mod h1:jdQByPbusPIv2/zmleS9BjJVeZ6kBagPoEUsqbVz/1A=
@@ -163,7 +163,6 @@ github.com/google/go-cmp v0.5.0/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/
163163
github.com/google/go-cmp v0.5.1/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
164164
github.com/google/go-cmp v0.5.2/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
165165
github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE=
166-
github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
167166
github.com/google/go-cmp v0.6.0 h1:ofyhxvXcZhMsU5ulbFiLKl/XBFqE1GSq7atu8tAmTRI=
168167
github.com/google/go-cmp v0.6.0/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY=
169168
github.com/google/martian v2.1.0+incompatible/go.mod h1:9I4somxYTbIHy5NJKHRl3wXiIaQGbYVAs8BPL6v8lEs=
@@ -396,8 +395,8 @@ github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/
396395
github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU=
397396
github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4=
398397
github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo=
399-
github.com/stretchr/testify v1.9.0 h1:HtqpIVDClZ4nwg75+f6Lvsy/wHu+3BoSGCbBAcpTsTg=
400-
github.com/stretchr/testify v1.9.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
398+
github.com/stretchr/testify v1.10.0 h1:Xv5erBjTwe/5IxqUQTdXv5kgmIvbHo3QQyRwhJsOfJA=
399+
github.com/stretchr/testify v1.10.0/go.mod h1:r2ic/lqez/lEtzL7wO/rwa5dbSLXVDPFyf8C91i36aY=
401400
github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8=
402401
github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0=
403402
github.com/tidwall/gjson v1.14.3 h1:9jvXn7olKEHU1S9vwoMGliaT8jq1vJ7IH/n9zD9Dnlw=
@@ -477,9 +476,8 @@ golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5y
477476
golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
478477
golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc=
479478
golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4=
480-
golang.org/x/crypto v0.19.0/go.mod h1:Iy9bg/ha4yyC70EfRS8jz+B6ybOBKMaSxLj6P6oBDfU=
481-
golang.org/x/crypto v0.31.0 h1:ihbySMvVjLAeSH1IbfcRTkD/iNscyz8rGzjF/E5hV6U=
482-
golang.org/x/crypto v0.31.0/go.mod h1:kDsLvtWBEx7MV9tJOj9bnXsPbxwJQ6csT/x4KIN4Ssk=
479+
golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc=
480+
golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc=
483481
golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
484482
golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA=
485483
golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8=
@@ -556,7 +554,6 @@ golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfS
556554
golang.org/x/net v0.0.0-20221002022538-bcab6841153b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk=
557555
golang.org/x/net v0.6.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs=
558556
golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns=
559-
golang.org/x/net v0.10.0/go.mod h1:0qNGK6F8kojg2nk9dLZ2mShWaEBan6FAoqfSigmmuDg=
560557
golang.org/x/net v0.33.0 h1:74SYHlV8BIgHIFC/LrYkOGIwL19eTYXQ5wc6TBuO36I=
561558
golang.org/x/net v0.33.0/go.mod h1:HXLR5J+9DxmrqMwG9qjGCxZ+zKXxBru04zlTvWlWuN4=
562559
golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U=
@@ -635,18 +632,14 @@ golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBc
635632
golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
636633
golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
637634
golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
638-
golang.org/x/sys v0.8.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg=
639-
golang.org/x/sys v0.17.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
640-
golang.org/x/sys v0.28.0 h1:Fksou7UEQUWlKvIdsqzJmUmCX3cZuD2+P3XyyzwMhlA=
641-
golang.org/x/sys v0.28.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
635+
golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU=
636+
golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA=
642637
golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw=
643638
golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo=
644639
golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
645640
golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8=
646641
golang.org/x/term v0.5.0/go.mod h1:jMB1sMXY+tzblOD4FWmEbocvup2/aLOaQEp7JmGp78k=
647642
golang.org/x/term v0.7.0/go.mod h1:P32HKFT3hSsZrRxla30E9HqToFYAQPCMs/zFMBUFqPY=
648-
golang.org/x/term v0.8.0/go.mod h1:xPskH00ivmX89bAKVGSKKtLOWNx2+17Eiy94tnKShWo=
649-
golang.org/x/term v0.17.0/go.mod h1:lLRBjIVuehSbZlaOtGMbcMncT+aqLLLmKrsjNrUguwk=
650643
golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
651644
golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
652645
golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
@@ -657,7 +650,6 @@ golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ=
657650
golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ=
658651
golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8=
659652
golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8=
660-
golang.org/x/text v0.14.0/go.mod h1:18ZOQIKpY8NJVqYksKHtTdi31H5itFRjB5/qKTNYzSU=
661653
golang.org/x/text v0.21.0 h1:zyQAAkrwaneQ066sspRyJaG9VNi/YJ1NfzcGB3hZ/qo=
662654
golang.org/x/text v0.21.0/go.mod h1:4IBbMaMmOPCJ8SecivzSH54+73PCFmPWxNTLm+vZkEQ=
663655
golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ=

handler/rfc7523/handler.go

+4-3
Original file line numberDiff line numberDiff line change
@@ -10,10 +10,11 @@ import (
1010

1111
"github.com/ory/fosite/handler/oauth2"
1212

13-
"github.com/go-jose/go-jose/v3"
14-
"github.com/go-jose/go-jose/v3/jwt"
13+
"github.com/go-jose/go-jose/v4"
14+
"github.com/go-jose/go-jose/v4/jwt"
1515

1616
"github.com/ory/fosite"
17+
fositeJWT "github.com/ory/fosite/token/jwt"
1718
"github.com/ory/x/errorsx"
1819
)
1920

@@ -51,7 +52,7 @@ func (c *Handler) HandleTokenEndpointRequest(ctx context.Context, request fosite
5152
return errorsx.WithStack(fosite.ErrInvalidRequest.WithHintf("The assertion request parameter must be set when using grant_type of '%s'.", grantTypeJWTBearer))
5253
}
5354

54-
token, err := jwt.ParseSigned(assertion)
55+
token, err := jwt.ParseSigned(assertion, fositeJWT.SupportedSignatureAlgorithms)
5556
if err != nil {
5657
return errorsx.WithStack(fosite.ErrInvalidGrant.
5758
WithHint("Unable to parse JSON Web Token passed in \"assertion\" request parameter.").

handler/rfc7523/handler_test.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -18,8 +18,8 @@ import (
1818

1919
"github.com/ory/fosite/handler/oauth2"
2020

21-
"github.com/go-jose/go-jose/v3"
22-
"github.com/go-jose/go-jose/v3/jwt"
21+
"github.com/go-jose/go-jose/v4"
22+
"github.com/go-jose/go-jose/v4/jwt"
2323
"github.com/stretchr/testify/suite"
2424
gomock "go.uber.org/mock/gomock"
2525

@@ -760,7 +760,7 @@ func (s *AuthorizeJWTGrantRequestHandlerTestSuite) createTestAssertion(cl jwt.Cl
760760
s.FailNowf("failed to create test assertion", "failed to create signer: %s", err.Error())
761761
}
762762

763-
raw, err := jwt.Signed(sig).Claims(cl).CompactSerialize()
763+
raw, err := jwt.Signed(sig).Claims(cl).Serialize()
764764
if err != nil {
765765
s.FailNowf("failed to create test assertion", "failed to sign assertion: %s", err.Error())
766766
}

handler/rfc7523/storage.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ import (
77
"context"
88
"time"
99

10-
"github.com/go-jose/go-jose/v3"
10+
"github.com/go-jose/go-jose/v4"
1111
)
1212

1313
// RFC7523KeyStorage holds information needed to validate jwt assertion in authorization grants.

integration/authorize_jwt_bearer_required_iat_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111

1212
"github.com/stretchr/testify/require"
1313

14-
"github.com/go-jose/go-jose/v3/jwt"
14+
"github.com/go-jose/go-jose/v4/jwt"
1515
"github.com/google/uuid"
1616
"github.com/stretchr/testify/assert"
1717
"github.com/stretchr/testify/suite"

integration/authorize_jwt_bearer_required_jti_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"testing"
1010
"time"
1111

12-
"github.com/go-jose/go-jose/v3/jwt"
12+
"github.com/go-jose/go-jose/v4/jwt"
1313
"github.com/google/uuid"
1414
"github.com/stretchr/testify/assert"
1515
"github.com/stretchr/testify/suite"

integration/authorize_jwt_bearer_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -11,7 +11,7 @@ import (
1111

1212
"github.com/stretchr/testify/require"
1313

14-
"github.com/go-jose/go-jose/v3/jwt"
14+
"github.com/go-jose/go-jose/v4/jwt"
1515
"github.com/google/uuid"
1616
"github.com/stretchr/testify/assert"
1717
"github.com/stretchr/testify/suite"

integration/clients/jwt_bearer.go

+3-3
Original file line numberDiff line numberDiff line change
@@ -12,8 +12,8 @@ import (
1212
"net/url"
1313
"strings"
1414

15-
"github.com/go-jose/go-jose/v3"
16-
"github.com/go-jose/go-jose/v3/jwt"
15+
"github.com/go-jose/go-jose/v4"
16+
"github.com/go-jose/go-jose/v4/jwt"
1717
)
1818

1919
// #nosec:gosec G101 - False Positive
@@ -69,7 +69,7 @@ func (c *JWTBearer) GetToken(ctx context.Context, payloadData *JWTBearerPayload,
6969
Claims(payloadData.Claims).
7070
Claims(payloadData.PrivateClaims)
7171

72-
assertion, err := builder.CompactSerialize()
72+
assertion, err := builder.Serialize()
7373
if err != nil {
7474
return nil, err
7575
}

integration/helper_setup_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@ import (
1515
"github.com/ory/fosite/internal"
1616
"github.com/ory/fosite/internal/gen"
1717

18-
"github.com/go-jose/go-jose/v3"
18+
"github.com/go-jose/go-jose/v4"
1919
"github.com/gorilla/mux"
2020
goauth "golang.org/x/oauth2"
2121
"golang.org/x/oauth2/clientcredentials"

integration/introspect_jwt_bearer_token_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ import (
1212

1313
"github.com/stretchr/testify/require"
1414

15-
"github.com/go-jose/go-jose/v3/jwt"
15+
"github.com/go-jose/go-jose/v4/jwt"
1616
"github.com/stretchr/testify/assert"
1717
"github.com/stretchr/testify/suite"
1818

internal/oauth2_auth_jwt_storage.go

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

storage/memory.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ import (
99
"sync"
1010
"time"
1111

12-
"github.com/go-jose/go-jose/v3"
12+
"github.com/go-jose/go-jose/v4"
1313
"github.com/google/uuid"
1414

1515
"github.com/ory/fosite"

token/jwt/jwt.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ import (
1414
"crypto/sha256"
1515
"strings"
1616

17-
"github.com/go-jose/go-jose/v3"
17+
"github.com/go-jose/go-jose/v4"
1818

1919
"github.com/ory/x/errorsx"
2020

token/jwt/jwt_test.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
"testing"
1111
"time"
1212

13-
"github.com/go-jose/go-jose/v3"
13+
"github.com/go-jose/go-jose/v4"
1414

1515
"github.com/ory/fosite/internal/gen"
1616

token/jwt/map_claims.go

+1-1
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@ import (
1010
"errors"
1111
"time"
1212

13-
jjson "github.com/go-jose/go-jose/v3/json"
13+
jjson "github.com/go-jose/go-jose/v4/json"
1414

1515
"github.com/ory/x/errorsx"
1616
)

token/jwt/token.go

+11-5
Original file line numberDiff line numberDiff line change
@@ -9,8 +9,8 @@ import (
99
"fmt"
1010
"reflect"
1111

12-
"github.com/go-jose/go-jose/v3"
13-
"github.com/go-jose/go-jose/v3/jwt"
12+
"github.com/go-jose/go-jose/v4"
13+
"github.com/go-jose/go-jose/v4/jwt"
1414

1515
"github.com/ory/x/errorsx"
1616
)
@@ -37,6 +37,12 @@ const (
3737
JWTHeaderTypeValue = "JWT"
3838
)
3939

40+
var SupportedSignatureAlgorithms = []jose.SignatureAlgorithm{
41+
SigningMethodNone,
42+
jose.EdDSA, jose.HS256, jose.HS384, jose.HS512, jose.RS256, jose.RS384,
43+
jose.RS512, jose.ES256, jose.ES384, jose.ES512, jose.PS256, jose.PS384, jose.PS512,
44+
}
45+
4046
type unsafeNoneMagicConstant string
4147

4248
// Valid informs if the token was verified against a given verification key
@@ -96,10 +102,10 @@ func (t *Token) SignedString(k interface{}) (rawToken string, err error) {
96102

97103
// A explicit conversion from type alias MapClaims
98104
// to map[string]interface{} is required because the
99-
// go-jose CompactSerialize() only support explicit maps
105+
// go-jose Serialize() only support explicit maps
100106
// as claims or structs but not type aliases from maps.
101107
claims := map[string]interface{}(t.Claims)
102-
rawToken, err = jwt.Signed(signer).Claims(claims).CompactSerialize()
108+
rawToken, err = jwt.Signed(signer).Claims(claims).Serialize()
103109
if err != nil {
104110
err = &ValidationError{Errors: ValidationErrorClaimsInvalid, Inner: err}
105111
return
@@ -163,7 +169,7 @@ func Parse(tokenString string, keyFunc Keyfunc) (*Token, error) {
163169
// If everything is kosher, err will be nil
164170
func ParseWithClaims(rawToken string, claims MapClaims, keyFunc Keyfunc) (*Token, error) {
165171
// Parse the token.
166-
parsedToken, err := jwt.ParseSigned(rawToken)
172+
parsedToken, err := jwt.ParseSigned(rawToken, SupportedSignatureAlgorithms)
167173
if err != nil {
168174
return &Token{}, &ValidationError{Errors: ValidationErrorMalformed, text: err.Error()}
169175
}

0 commit comments

Comments
 (0)