Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
N
nbya
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
haoyanbin
nbya
Commits
1255af4a
Commit
1255af4a
authored
Jan 18, 2022
by
haoyanbin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
Login
parent
f214784a
Changes
10
Hide whitespace changes
Inline
Side-by-side
Showing
10 changed files
with
74 additions
and
45 deletions
+74
-45
org_player_user.go
app/mobile/apis/org_player_user.go
+5
-4
int_router.go
app/mobile/router/int_router.go
+1
-7
org_league.go
app/mobile/router/org_league.go
+2
-4
org_news.go
app/mobile/router/org_news.go
+2
-5
org_player.go
app/mobile/router/org_player.go
+2
-5
org_player_rank.go
app/mobile/router/org_player_rank.go
+2
-5
org_player_user.go
app/mobile/router/org_player_user.go
+2
-5
router.go
app/mobile/router/router.go
+7
-7
mobilejwt.go
common/middleware/mobilejwt.go
+49
-0
jwt.go
common/utils/jwt.go
+2
-3
No files found.
app/mobile/apis/org_player_user.go
View file @
1255af4a
...
...
@@ -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
,
"查询成功"
)
}
...
...
app/mobile/router/int_router.go
View file @
1255af4a
...
...
@@ -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
)
}
app/mobile/router/org_league.go
View file @
1255af4a
...
...
@@ -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
)
...
...
app/mobile/router/org_news.go
View file @
1255af4a
...
...
@@ -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
)
...
...
app/mobile/router/org_player.go
View file @
1255af4a
...
...
@@ -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
)
...
...
app/mobile/router/org_player_rank.go
View file @
1255af4a
...
...
@@ -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
)
}
...
...
app/mobile/router/org_player_user.go
View file @
1255af4a
...
...
@@ -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
)
...
...
app/mobile/router/router.go
View file @
1255af4a
...
...
@@ -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
)
}
}
common/middleware/mobilejwt.go
0 → 100644
View file @
1255af4a
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
()
}
}
common/utils/jwt.go
View file @
1255af4a
...
...
@@ -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"
,
// 签发人
},
}
// 使用指定的签名方法创建签名对象
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment