@@ -65,6 +65,9 @@ type GinJWTMiddleware struct {
65
65
// User can define own LoginResponse func.
66
66
LoginResponse func (* gin.Context , int , string , time.Time )
67
67
68
+ // User can define own AntdLoginResponse func.
69
+ AntdLoginResponse func (* gin.Context , int , string , time.Time )
70
+
68
71
// User can define own RefreshResponse func.
69
72
RefreshResponse func (* gin.Context , int , string , time.Time )
70
73
@@ -213,19 +216,19 @@ var (
213
216
RKey = "r"
214
217
215
218
// RoleIdKey 角色id Old
216
- RoleIdKey = "roleid"
219
+ RoleIdKey = "roleid"
217
220
218
221
// RoleKey 角色名称 Old
219
- RoleKey = "rolekey"
222
+ RoleKey = "rolekey"
220
223
221
224
// RoleNameKey 角色名称 Old
222
225
RoleNameKey = "rolename"
223
226
224
227
// RoleIdKey 部门id
225
- DeptId = "deptId"
228
+ DeptId = "deptId"
226
229
227
230
// RoleKey 部门名称
228
- DeptName = "deptName"
231
+ DeptName = "deptName"
229
232
)
230
233
231
234
// New for check error with GinJWTMiddleware
@@ -328,6 +331,18 @@ func (mw *GinJWTMiddleware) MiddlewareInit() error {
328
331
}
329
332
}
330
333
334
+ if mw .AntdLoginResponse == nil {
335
+ mw .AntdLoginResponse = func (c * gin.Context , code int , token string , expire time.Time ) {
336
+ c .JSON (http .StatusOK , gin.H {
337
+ "code" : http .StatusOK ,
338
+ "success" : true ,
339
+ "token" : token ,
340
+ "currentAuthority" : token ,
341
+ "expire" : expire .Format (time .RFC3339 ),
342
+ })
343
+ }
344
+ }
345
+
331
346
if mw .RefreshResponse == nil {
332
347
mw .RefreshResponse = func (c * gin.Context , code int , token string , expire time.Time ) {
333
348
c .JSON (http .StatusOK , gin.H {
@@ -446,24 +461,19 @@ func (mw *GinJWTMiddleware) LoginHandler(c *gin.Context) {
446
461
mw .unauthorized (c , http .StatusInternalServerError , mw .HTTPStatusMessageFunc (ErrMissingAuthenticatorFunc , c ))
447
462
return
448
463
}
449
-
450
464
data , err := mw .Authenticator (c )
451
-
452
465
if err != nil {
453
466
mw .unauthorized (c , 400 , mw .HTTPStatusMessageFunc (err , c ))
454
467
return
455
468
}
456
-
457
469
// Create the token
458
470
token := jwt .New (jwt .GetSigningMethod (mw .SigningAlgorithm ))
459
471
claims := token .Claims .(jwt.MapClaims )
460
-
461
472
if mw .PayloadFunc != nil {
462
473
for key , value := range mw .PayloadFunc (data ) {
463
474
claims [key ] = value
464
475
}
465
476
}
466
-
467
477
expire := mw .TimeFunc ().Add (mw .Timeout )
468
478
claims ["exp" ] = expire .Unix ()
469
479
claims ["orig_iat" ] = mw .TimeFunc ().Unix ()
@@ -488,7 +498,7 @@ func (mw *GinJWTMiddleware) LoginHandler(c *gin.Context) {
488
498
)
489
499
}
490
500
491
- mw .LoginResponse (c , http .StatusOK , tokenString , expire )
501
+ mw .AntdLoginResponse (c , http .StatusOK , tokenString , expire )
492
502
}
493
503
494
504
func (mw * GinJWTMiddleware ) signedString (token * jwt.Token ) (string , error ) {
@@ -747,4 +757,4 @@ func GetToken(c *gin.Context) string {
747
757
}
748
758
749
759
return token .(string )
750
- }
760
+ }
0 commit comments