From 5986d2bb9be07bbe69eb17d8f3bd208dc5b78043 Mon Sep 17 00:00:00 2001 From: William Petit Date: Fri, 29 Mar 2019 16:44:09 +0100 Subject: [PATCH] Extract inner error when parsing JWT --- server/middleware.go | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/server/middleware.go b/server/middleware.go index 8a0f9b4..16f152d 100644 --- a/server/middleware.go +++ b/server/middleware.go @@ -114,6 +114,10 @@ func assertServerToken(key *rsa.PublicKey, serverToken string) (*peering.ServerT } token, err := jwt.ParseWithClaims(serverToken, &peering.ServerTokenClaims{}, fn) if err != nil { + validationError, ok := err.(*jwt.ValidationError) + if ok { + return nil, validationError.Inner + } return nil, err } if !token.Valid { @@ -146,6 +150,10 @@ func assertClientToken(peerID peering.PeerID, store peering.Store, clientToken s } token, err := jwt.ParseWithClaims(clientToken, &peering.ClientTokenClaims{}, fn) if err != nil { + validationError, ok := err.(*jwt.ValidationError) + if ok { + return nil, validationError.Inner + } return nil, err } if !token.Valid {