@@ -255,15 +255,31 @@ func (mt *Mytoken) ToJWT() (string, error) {
255255 return mt .jwt , nil
256256 }
257257 var err error
258- mt .jwt , err = jwt .NewWithClaims (jwt .GetSigningMethod (config .Get ().Signing .Alg ), mt ).SignedString (jws .GetPrivateKey ())
258+ mt .jwt , err = jwt .NewWithClaims (
259+ jwt .GetSigningMethod (config .Get ().Signing .Alg ), mt ,
260+ ).SignedString (jws .GetPrivateKey ())
259261 return mt .jwt , errors .WithStack (err )
260262}
261263
262264// ParseJWT parses a token string into a Mytoken
263265func ParseJWT (token string ) (* Mytoken , error ) {
264- tok , err := jwt .ParseWithClaims (token , & Mytoken {}, func (t * jwt.Token ) (interface {}, error ) {
265- return jws .GetPublicKey (), nil
266- })
266+ return parseJWT (token , false )
267+ }
268+
269+ // ParseJWTWithoutClaimsValidation parses a token string into a Mytoken
270+ func ParseJWTWithoutClaimsValidation (token string ) (* Mytoken , error ) {
271+ return parseJWT (token , true )
272+ }
273+
274+ func parseJWT (token string , skipCalimsValidation bool ) (* Mytoken , error ) {
275+ parser := jwt.Parser {
276+ SkipClaimsValidation : skipCalimsValidation ,
277+ }
278+ tok , err := parser .ParseWithClaims (
279+ token , & Mytoken {}, func (t * jwt.Token ) (interface {}, error ) {
280+ return jws .GetPublicKey (), nil
281+ },
282+ )
267283 if err != nil {
268284 return nil , errors .WithStack (err )
269285 }
0 commit comments