Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
H
hilo-common
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
hujiebin
hilo-common
Commits
36110aca
Commit
36110aca
authored
Dec 13, 2022
by
hujiebin
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
20人上麦
parent
60b369cc
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
104 additions
and
0 deletions
+104
-0
go.mod
go.mod
+1
-0
go.sum
go.sum
+2
-0
test_20_in_mic.go
script/test_20_in_mic.go
+46
-0
jwt.go
utils/jwt/jwt.go
+55
-0
No files found.
go.mod
View file @
36110aca
...
...
@@ -3,6 +3,7 @@ module github.com/hilo-common
go 1.17
require (
github.com/dgrijalva/jwt-go v3.2.0+incompatible // indirect
github.com/go-sql-driver/mysql v1.6.0 // indirect
github.com/jinzhu/inflection v1.0.0 // indirect
github.com/jinzhu/now v1.1.5 // indirect
...
...
go.sum
View file @
36110aca
github.com/dgrijalva/jwt-go v3.2.0+incompatible h1:7qlOGliEKZXTDg6OTjfoBKDXWrumCAMpl/TFQ4/5kLM=
github.com/dgrijalva/jwt-go v3.2.0+incompatible/go.mod h1:E3ru+11k8xSBh+hMPgOLZmtrrCbhqsmaPHjLKYnJCaQ=
github.com/go-sql-driver/mysql v1.6.0 h1:BCTh4TKNUYmOmMUcQ3IipzF5prigylS7XXjEkfCHuOE=
github.com/go-sql-driver/mysql v1.6.0/go.mod h1:DCzpHaOWr8IXmIStZouvnhqoel9Qv2LBy8hT2VhHyBg=
github.com/jinzhu/inflection v1.0.0 h1:K317FqzuhWc8YvSVlFMCCUb36O/S9MCKRDI7QkRKD/E=
...
...
script/test_20_in_mic.go
0 → 100644
View file @
36110aca
package
main
import
(
"fmt"
"github.com/hilo-common/model"
"github.com/hilo-common/mysql"
"github.com/hilo-common/utils/jwt"
"net/http"
"strings"
"time"
)
var
micCodes
=
[]
string
{
"1000653"
,
"1000516"
,
"1000675"
,
"1000890"
,
"1000755"
,
"1000593"
,
"1000629"
,
"1000634"
,
"1000765"
,
"1000839"
,
"1000355"
,
"1000591"
,
"1000633"
,
"1000224"
,
"1000611"
,
"1000689"
,
"1000467"
,
"1000384"
,
"1000367"
,
"1000623"
}
func
main
()
{
var
users
[]
model
.
User
if
err
:=
mysql
.
TestDB
.
Model
(
model
.
User
{})
.
Where
(
"code in ?"
,
micCodes
)
.
Find
(
&
users
)
.
Error
;
err
!=
nil
{
panic
(
err
)
}
for
_
,
user
:=
range
users
{
url
:=
"https://test.apiv1.faceline.live/v1/imGroup/mic/in"
method
:=
"POST"
payload
:=
strings
.
NewReader
(
"groupUuid=HTGS%23a56194639&i="
)
client
:=
&
http
.
Client
{}
req
,
err
:=
http
.
NewRequest
(
method
,
url
,
payload
)
if
err
!=
nil
{
fmt
.
Println
(
err
)
return
}
token
,
_
:=
jwt
.
GenerateToken
(
user
.
Id
,
user
.
ExternalId
,
"hiloApi"
)
req
.
Header
.
Add
(
"nonce"
,
"hilo"
)
req
.
Header
.
Add
(
"token"
,
token
)
req
.
Header
.
Add
(
"Content-Type"
,
"application/x-www-form-urlencoded"
)
res
,
err
:=
client
.
Do
(
req
)
if
err
!=
nil
{
fmt
.
Println
(
err
)
return
}
res
.
Body
.
Close
()
time
.
Sleep
(
time
.
Second
*
2
)
}
}
utils/jwt/jwt.go
0 → 100644
View file @
36110aca
package
jwt
import
(
"github.com/dgrijalva/jwt-go"
"time"
)
// 载荷,增加用户别名
type
Claims
struct
{
UserId
uint64
ExternalId
string
jwt
.
StandardClaims
}
//生成token
func
GenerateToken
(
userId
uint64
,
externalId
string
,
issuer
string
)
(
string
,
error
)
{
duration
,
err
:=
time
.
ParseDuration
(
"240h"
)
if
err
!=
nil
{
return
""
,
err
}
expireTime
:=
time
.
Now
()
.
Add
(
duration
)
claims
:=
Claims
{
UserId
:
userId
,
ExternalId
:
externalId
,
StandardClaims
:
jwt
.
StandardClaims
{
ExpiresAt
:
expireTime
.
Unix
(),
//过期时间
Issuer
:
issuer
,
//签名的发行者
},
}
tokenClaims
:=
jwt
.
NewWithClaims
(
jwt
.
SigningMethodHS256
,
claims
)
token
,
err
:=
tokenClaims
.
SignedString
(
GetJWTSecret
())
return
token
,
err
}
func
GetJWTSecret
()
[]
byte
{
return
[]
byte
(
"hilo1632"
)
}
//解析token
func
ParseToken
(
token
string
)
(
*
Claims
,
error
)
{
tokenClaims
,
err
:=
jwt
.
ParseWithClaims
(
token
,
&
Claims
{},
func
(
token
*
jwt
.
Token
)
(
interface
{},
error
)
{
return
GetJWTSecret
(),
nil
})
if
err
!=
nil
{
return
nil
,
err
}
if
tokenClaims
!=
nil
{
claims
,
ok
:=
tokenClaims
.
Claims
.
(
*
Claims
)
if
ok
&&
tokenClaims
.
Valid
{
return
claims
,
nil
}
}
return
nil
,
err
}
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