@@ -157,6 +157,9 @@ type GinJWTMiddleware struct {
157
157
158
158
// ParseOptions allow to modify jwt's parser methods
159
159
ParseOptions []jwt.ParserOption
160
+
161
+ // Default vaule is "exp"
162
+ ExpField string
160
163
}
161
164
162
165
var (
@@ -402,6 +405,10 @@ func (mw *GinJWTMiddleware) MiddlewareInit() error {
402
405
mw .CookieName = "jwt"
403
406
}
404
407
408
+ if mw .ExpField == "" {
409
+ mw .ExpField = "exp"
410
+ }
411
+
405
412
// bypass other key settings if KeyFunc is set
406
413
if mw .KeyFunc != nil {
407
414
return nil
@@ -414,6 +421,7 @@ func (mw *GinJWTMiddleware) MiddlewareInit() error {
414
421
if mw .Key == nil {
415
422
return ErrMissingSecretKey
416
423
}
424
+
417
425
return nil
418
426
}
419
427
@@ -431,7 +439,7 @@ func (mw *GinJWTMiddleware) middlewareImpl(c *gin.Context) {
431
439
return
432
440
}
433
441
434
- switch v := claims ["exp" ].(type ) {
442
+ switch v := claims [mw . ExpField ].(type ) {
435
443
case nil :
436
444
mw .unauthorized (c , http .StatusBadRequest , mw .HTTPStatusMessageFunc (ErrMissingExpField , c ))
437
445
return
@@ -517,7 +525,7 @@ func (mw *GinJWTMiddleware) LoginHandler(c *gin.Context) {
517
525
}
518
526
519
527
expire := mw .TimeFunc ().Add (mw .TimeoutFunc (claims ))
520
- claims ["exp" ] = expire .Unix ()
528
+ claims [mw . ExpField ] = expire .Unix ()
521
529
claims ["orig_iat" ] = mw .TimeFunc ().Unix ()
522
530
tokenString , err := mw .signedString (token )
523
531
if err != nil {
@@ -592,7 +600,7 @@ func (mw *GinJWTMiddleware) RefreshToken(c *gin.Context) (string, time.Time, err
592
600
}
593
601
594
602
expire := mw .TimeFunc ().Add (mw .TimeoutFunc (claims ))
595
- newClaims ["exp" ] = expire .Unix ()
603
+ newClaims [mw . ExpField ] = expire .Unix ()
596
604
newClaims ["orig_iat" ] = mw .TimeFunc ().Unix ()
597
605
tokenString , err := mw .signedString (newToken )
598
606
if err != nil {
@@ -642,7 +650,7 @@ func (mw *GinJWTMiddleware) TokenGenerator(data interface{}) (string, time.Time,
642
650
}
643
651
644
652
expire := mw .TimeFunc ().Add (mw .TimeoutFunc (claims ))
645
- claims ["exp" ] = expire .Unix ()
653
+ claims [mw . ExpField ] = expire .Unix ()
646
654
claims ["orig_iat" ] = mw .TimeFunc ().Unix ()
647
655
tokenString , err := mw .signedString (token )
648
656
if err != nil {
0 commit comments