1
This commit is contained in:
parent
e7d4c139eb
commit
287209a382
@ -1,10 +1,64 @@
|
||||
package middleware
|
||||
|
||||
import (
|
||||
"q5"
|
||||
"f5"
|
||||
"mt"
|
||||
"fmt"
|
||||
"github.com/gin-gonic/gin"
|
||||
)
|
||||
|
||||
/*
|
||||
'Authorization Bearer {JwtToken}'
|
||||
*/
|
||||
func JwtAuth(c *gin.Context) {
|
||||
//tokenHeader := c.Request.Header.Get("Authorization")
|
||||
tokenHeader := c.Request.Header.Get("Authorization")
|
||||
jwtToken := ""
|
||||
if len(tokenHeader) < 8 {
|
||||
jwtToken = tokenHeader[8:len(tokenHeader)]
|
||||
}
|
||||
|
||||
params := map[string]string{
|
||||
"c": "Jwt",
|
||||
"a": "verify",
|
||||
}
|
||||
jsonReqObj := &struct {
|
||||
JwksUri string `json:"jwksUri"`
|
||||
Data string `json:"data"`
|
||||
}{
|
||||
Data: jwtToken,
|
||||
}
|
||||
jsonRspObj := &struct {
|
||||
ErrCode interface{} `json:"errcode"`
|
||||
ErrMsg string `json:"errmsg"`
|
||||
TransId string `json:"trans_id"`
|
||||
Params []string `json:"params"`
|
||||
}{
|
||||
Params: []string{},
|
||||
}
|
||||
rspObj := &struct {
|
||||
ErrCode interface{} `json:"errcode"`
|
||||
ErrMsg string `json:"errmsg"`
|
||||
}{}
|
||||
paramsStr := q5.EncodeJson(jsonReqObj)
|
||||
url := fmt.Sprintf("%s/webapp/index.php", mt.Table.Web3ServiceCluster.RandElement().GetUrl())
|
||||
f5.GetHttpCliMgr().SendGoStyleJsonRspPost(
|
||||
url,
|
||||
params,
|
||||
jsonRspObj,
|
||||
q5.HTTP_HEADER_JSON,
|
||||
paramsStr,
|
||||
func(rsp f5.HttpCliResponse) {
|
||||
if rsp.GetErr() != nil ||
|
||||
!rsp.JsonParseOk() {
|
||||
rspObj.ErrCode = 500
|
||||
rspObj.ErrMsg = "server internal error"
|
||||
c.JSON(200, rspObj)
|
||||
return
|
||||
}
|
||||
rspObj.ErrCode = q5.SafeToInt32(jsonRspObj.ErrCode)
|
||||
rspObj.ErrMsg = jsonRspObj.ErrMsg
|
||||
c.JSON(200, rspObj)
|
||||
})
|
||||
c.Next()
|
||||
}
|
||||
|
Loading…
x
Reference in New Issue
Block a user