diff --git a/app/mobile/apis/org_player_user.go b/app/mobile/apis/org_player_user.go
index 16f89a1ad1246dd3bc00a7839d16d3cc368cff99..2950edb9238b84e7bed97882af102c3c518a47be 100755
--- a/app/mobile/apis/org_player_user.go
+++ b/app/mobile/apis/org_player_user.go
@@ -6,11 +6,12 @@ import (
 	"github.com/go-admin-team/go-admin-core/sdk/api"
 	"github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth/user"
 	_ "github.com/go-admin-team/go-admin-core/sdk/pkg/response"
-
 	"go-admin/app/mobile/service"
 	"go-admin/app/mobile/service/dto"
 	"go-admin/app/operate/models"
 	"go-admin/common/actions"
+	"go-admin/common/utils"
+	"strconv"
 )
 
 type OrgPlayerUser struct {
@@ -52,7 +53,7 @@ func (e OrgPlayerUser) Login(c *gin.Context) {
 
 	//自建token生成
 	reply := new(dto.LoginReply)
-	//token, _ := utils.GenToken(int64(data.Id))
+	token, _ := utils.GenToken(int64(data.Id))
 	//
 	//a,_ := jwt.New(&jwt.GinJWTMiddleware{
 	//	Realm:           "test zone",
@@ -68,8 +69,8 @@ func (e OrgPlayerUser) Login(c *gin.Context) {
 	//	TokenHeadName:   "Bearer",
 	//	TimeFunc:        time.Now,
 	//})
-	//reply.Token = a.
-	//reply.PlayerUserId = strconv.Itoa(data.Id)
+	reply.Token = token
+	reply.PlayerUserId = strconv.Itoa(data.Id)
 
 	e.OK(reply, "查询成功")
 }
diff --git a/app/mobile/router/int_router.go b/app/mobile/router/int_router.go
index ab65faa563bb6891abf2e75e24464097706c05d9..4f77924c07165966602de57b149a6b5e46a97d53 100755
--- a/app/mobile/router/int_router.go
+++ b/app/mobile/router/int_router.go
@@ -7,7 +7,6 @@ import (
 	"github.com/gin-gonic/gin"
 	log "github.com/go-admin-team/go-admin-core/logger"
 	"github.com/go-admin-team/go-admin-core/sdk"
-	common "go-admin/common/middleware"
 )
 
 // InitRouter 路由初始化,不要怀疑,这里用到了
@@ -26,11 +25,6 @@ func InitRouter() {
 		os.Exit(-1)
 	}
 
-	authMiddleware, err := common.AuthInit()
-	if err != nil {
-		log.Fatalf("JWT Init Error, %s", err.Error())
-	}
-
 	// 注册业务路由
-	initRouter(r, authMiddleware)
+	initRouter(r)
 }
diff --git a/app/mobile/router/org_league.go b/app/mobile/router/org_league.go
index 536edda5ba7fc07fcd8f05d7be390000ef030b58..09bc9e5fa36072f464f1ad1673b0e1bd61419154 100755
--- a/app/mobile/router/org_league.go
+++ b/app/mobile/router/org_league.go
@@ -2,8 +2,6 @@ package router
 
 import (
 	"github.com/gin-gonic/gin"
-	jwt "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth"
-
 	"go-admin/app/mobile/apis"
 )
 
@@ -12,9 +10,9 @@ func init() {
 }
 
 // registerOrgLeagueRouter
-func registerOrgLeagueRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
+func registerOrgLeagueRouter(v1 *gin.RouterGroup) {
 	api := apis.OrgLeague{}
-	r := v1.Group("/org-league").Use(authMiddleware.MiddlewareFunc())
+	r := v1.Group("/org-league").Use()
 	{
 		r.GET("", api.GetPage)
 		r.GET("/:id", api.Get)
diff --git a/app/mobile/router/org_news.go b/app/mobile/router/org_news.go
index 4833f632e5ed48856c4f9e47edeb2a115e4e31af..152331c4529533b0def0e23f2338664f788f711e 100755
--- a/app/mobile/router/org_news.go
+++ b/app/mobile/router/org_news.go
@@ -2,10 +2,7 @@ package router
 
 import (
 	"github.com/gin-gonic/gin"
-	jwt "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth"
-
 	"go-admin/app/mobile/apis"
-	"go-admin/common/middleware"
 )
 
 func init() {
@@ -13,9 +10,9 @@ func init() {
 }
 
 // registerOrgNewsRouter
-func registerOrgNewsRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
+func registerOrgNewsRouter(v1 *gin.RouterGroup) {
 	api := apis.OrgNews{}
-	r := v1.Group("/org-news").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
+	r := v1.Group("/org-news")
 	{
 		r.GET("", api.GetPage)
 		r.GET("/:id", api.Get)
diff --git a/app/mobile/router/org_player.go b/app/mobile/router/org_player.go
index df9c6cc72339814544ac35885cafd4a7f4401ba0..6f48e41ad8ce28a31358e770188a7c2f908ae530 100755
--- a/app/mobile/router/org_player.go
+++ b/app/mobile/router/org_player.go
@@ -2,10 +2,7 @@ package router
 
 import (
 	"github.com/gin-gonic/gin"
-	jwt "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth"
-
 	"go-admin/app/operate/apis"
-	"go-admin/common/middleware"
 )
 
 func init() {
@@ -13,9 +10,9 @@ func init() {
 }
 
 // registerOrgPlayerRouter
-func registerOrgPlayerRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
+func registerOrgPlayerRouter(v1 *gin.RouterGroup) {
 	api := apis.OrgPlayer{}
-	r := v1.Group("/org-player").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
+	r := v1.Group("/org-player").Use()
 	{
 		r.GET("", api.GetPage)
 		r.GET("/:id", api.Get)
diff --git a/app/mobile/router/org_player_rank.go b/app/mobile/router/org_player_rank.go
index 5705f18be63dcdbbfb423e4680d7b6868340d2b1..c9e2c9c1f1fa401de04f6ad164cc5ba26f8e7ed0 100755
--- a/app/mobile/router/org_player_rank.go
+++ b/app/mobile/router/org_player_rank.go
@@ -2,10 +2,7 @@ package router
 
 import (
 	"github.com/gin-gonic/gin"
-	jwt "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth"
-
 	"go-admin/app/mobile/apis"
-	"go-admin/common/middleware"
 )
 
 func init() {
@@ -13,9 +10,9 @@ func init() {
 }
 
 // registerOrgTeamPlayerRouter
-func registerOrgPlayerRankRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
+func registerOrgPlayerRankRouter(v1 *gin.RouterGroup) {
 	api := apis.OrgPlayerRank{}
-	r := v1.Group("/org-player-rank").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
+	r := v1.Group("/org-player-rank")
 	{
 		r.GET("", api.GetPage)
 	}
diff --git a/app/mobile/router/org_player_user.go b/app/mobile/router/org_player_user.go
index f2040ef9f94eae0006aff6e6125f612b14e988f5..17366e1fda881ed64a752c5331d55e54abc5f7d9 100755
--- a/app/mobile/router/org_player_user.go
+++ b/app/mobile/router/org_player_user.go
@@ -2,10 +2,7 @@ package router
 
 import (
 	"github.com/gin-gonic/gin"
-	jwt "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth"
-
 	"go-admin/app/mobile/apis"
-	"go-admin/common/middleware"
 )
 
 func init() {
@@ -14,9 +11,9 @@ func init() {
 }
 
 // registerOrgPlayerUserRouter
-func registerOrgPlayerUserRouter(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware) {
+func registerOrgPlayerUserRouter(v1 *gin.RouterGroup) {
 	api := apis.OrgPlayerUser{}
-	r := v1.Group("/org-player-user").Use(authMiddleware.MiddlewareFunc()).Use(middleware.AuthCheckRole())
+	r := v1.Group("/org-player-user")
 	{
 		r.GET("", api.GetPage)
 		r.GET("/:id", api.Get)
diff --git a/app/mobile/router/router.go b/app/mobile/router/router.go
index 20b9732ee0ee10db7361941456470dcd29682f95..6455e29385b48b0020b56468f82ee93eae6ee191 100755
--- a/app/mobile/router/router.go
+++ b/app/mobile/router/router.go
@@ -2,21 +2,21 @@ package router
 
 import (
 	"github.com/gin-gonic/gin"
-	jwt "github.com/go-admin-team/go-admin-core/sdk/pkg/jwtauth"
+	"go-admin/common/middleware"
 )
 
 var (
 	routerNoCheckRole = make([]func(*gin.RouterGroup), 0)
-	routerCheckRole   = make([]func(v1 *gin.RouterGroup, authMiddleware *jwt.GinJWTMiddleware), 0)
+	routerCheckRole   = make([]func(v1 *gin.RouterGroup), 0)
 )
 
 // initRouter 路由示例
-func initRouter(r *gin.Engine, authMiddleware *jwt.GinJWTMiddleware) *gin.Engine {
+func initRouter(r *gin.Engine) *gin.Engine {
 
 	// 无需认证的路由
 	noCheckRoleRouter(r)
 	// 需要认证的路由
-	checkRoleRouter(r, authMiddleware)
+	checkRoleRouter(r)
 
 	return r
 }
@@ -32,11 +32,11 @@ func noCheckRoleRouter(r *gin.Engine) {
 }
 
 // checkRoleRouter 需要认证的路由示例
-func checkRoleRouter(r *gin.Engine, authMiddleware *jwt.GinJWTMiddleware) {
+func checkRoleRouter(r *gin.Engine) {
 	// 可根据业务需求来设置接口版本
 	v1 := r.Group("/mobile/v1")
-
+	v1.Use(middleware.JWTAuthMiddleware())
 	for _, f := range routerCheckRole {
-		f(v1, authMiddleware)
+		f(v1)
 	}
 }
diff --git a/common/middleware/mobilejwt.go b/common/middleware/mobilejwt.go
new file mode 100644
index 0000000000000000000000000000000000000000..277ee750e13411fa2ace57e6b9bef82a78cb1f86
--- /dev/null
+++ b/common/middleware/mobilejwt.go
@@ -0,0 +1,49 @@
+package middleware
+
+import (
+	"fmt"
+	"github.com/gin-gonic/gin"
+	"github.com/go-admin-team/go-admin-core/sdk/pkg/response"
+	"go-admin/common/utils"
+	"strconv"
+	"strings"
+)
+
+// JWTAuthMiddleware 基于JWT的认证中间件
+func JWTAuthMiddleware() func(c *gin.Context) {
+	return func(c *gin.Context) {
+		//ip := exnet.ClientPublicIP(c.Request)
+		//if ip == "" {
+		//	ip = exnet.ClientIP(c.Request)
+		//}
+		//if ip != viper.GetString("white_ip.ip") {
+		//	utils.ResponseErrorWithMsg(c, utils.CodeInvalidToken, "没有请求权限")
+		//	c.Abort()
+		//	return
+		//}
+		//客户端携带Token有三种方式 1.放在请求头 2.放在请求体 3.放在URI
+		authHeader := c.Request.Header.Get("Authorization")
+		if authHeader == "" {
+			response.OK(c, 401, "请求头缺少Auth Token")
+			c.Abort()
+			return
+		}
+		// 按空格分割
+		parts := strings.SplitN(authHeader, " ", 2)
+		if !(len(parts) == 2 && parts[0] == "Bearer") {
+			response.OK(c, 402, "请求头中auth格式有误")
+			c.Abort()
+			return
+		}
+		// parts[1]是获取到的tokenString,我们使用之前定义好的解析JWT的函数来解析它
+		mc, err := utils.ParseToken(parts[1])
+		if err != nil {
+			response.OK(c, 403, "invalid JWT token")
+			c.Abort()
+			return
+		}
+		c.Set("userId", mc.UserId)
+		fmt.Println("token:" + parts[1] + "======userid:" + strconv.FormatInt(mc.UserId, 10))
+		c.Next()
+	}
+}
diff --git a/common/utils/jwt.go b/common/utils/jwt.go
index 2cbb355d051d09892522e229d9888e183719d9b7..558b06ecb20715a7a87f752a2986ecbbb1ff5833 100755
--- a/common/utils/jwt.go
+++ b/common/utils/jwt.go
@@ -4,7 +4,6 @@ import (
 	"errors"
 	"github.com/dgrijalva/jwt-go"
 	"github.com/spf13/viper"
-	"time"
 )
 
 type MemberInfo struct {
@@ -34,8 +33,8 @@ func GenToken(userID int64) (string, error) {
 	c := MyClaims{
 		userID, // 自定义字段
 		jwt.StandardClaims{
-			ExpiresAt: time.Now().Add(time.Hour * time.Duration(viper.GetInt("jwt.expire_hours"))).Unix(), // 过期时间
-			Issuer:    viper.GetString("app.name"),                                                        // 签发人
+			ExpiresAt: 30 * 24 * 3600 * 1000, // 过期时间
+			Issuer:    "nbya",                // 签发人
 		},
 	}
 	// 使用指定的签名方法创建签名对象