2021-09-14 00:39:00 +00:00
|
|
|
package middleware
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"github.com/gin-gonic/gin"
|
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
const (
|
|
|
|
|
TokenName = "token"
|
|
|
|
|
)
|
|
|
|
|
|
2021-09-14 00:43:09 +00:00
|
|
|
//AuthJWT jwt用户认证拦截器
|
|
|
|
|
func AuthJWT() gin.HandlerFunc {
|
2021-09-14 00:39:00 +00:00
|
|
|
return func(c *gin.Context) {
|
|
|
|
|
// tokenString := c.GetHeader(TokenName)
|
|
|
|
|
|
|
|
|
|
// claims := &model.UserClaims{}
|
|
|
|
|
// tkn, err := jwt.ParseWithClaims(tokenString, claims, func(t *jwt.Token) (interface{}, error) {
|
|
|
|
|
// return []byte(config.JwtKey), nil
|
|
|
|
|
// })
|
|
|
|
|
// if err != nil {
|
|
|
|
|
// if err == jwt.ErrSignatureInvalid {
|
|
|
|
|
// zt.RespUnauth(c, fmt.Sprintf("%s无效!", TokenName), nil)
|
|
|
|
|
// return
|
|
|
|
|
// }
|
|
|
|
|
// zt.RespUnauth(c, "请求失败", err)
|
|
|
|
|
// return
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// if !tkn.Valid {
|
|
|
|
|
// zt.RespUnauth(c, fmt.Sprintf("%s 验证失败!", TokenName), nil)
|
|
|
|
|
// return
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// c.Set("user", claims)
|
|
|
|
|
|
|
|
|
|
// c.Next()
|
|
|
|
|
}
|
|
|
|
|
}
|
2021-09-14 00:43:09 +00:00
|
|
|
|
|
|
|
|
//WsUserAuth wodeschool用户角色验证拦截
|
|
|
|
|
func WsUserAuth() gin.HandlerFunc {
|
|
|
|
|
return func(c *gin.Context) {
|
|
|
|
|
// tokenString := c.GetHeader(TokenName)
|
|
|
|
|
// if tokenString == "" {
|
|
|
|
|
// yy.RespUnauth(c, "token无效!", nil)
|
|
|
|
|
// return
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// srv, err := consul.FindServer("user")
|
|
|
|
|
// if err != nil {
|
|
|
|
|
// log.WithFields(log.Fields{
|
|
|
|
|
// "func": "WsUserAuth",
|
|
|
|
|
// }).Errorf("FindServer: %s", err.Error())
|
|
|
|
|
// yy.RespUnauth(c, "用户认证失败,请检查后再试!", err)
|
|
|
|
|
// return
|
|
|
|
|
// }
|
|
|
|
|
// defer srv.Close()
|
|
|
|
|
// client := pb.NewCertificationClient(srv)
|
|
|
|
|
// resp, err := client.Auth(context.Background(), &pb.CertificationAuthRequest{
|
|
|
|
|
// PlatformID: conf.Golbal.PlatformID,
|
|
|
|
|
// Token: tokenString,
|
|
|
|
|
// })
|
|
|
|
|
// if err != nil {
|
|
|
|
|
// log.WithFields(log.Fields{
|
|
|
|
|
// "func": "WsUserAuth",
|
|
|
|
|
// }).Errorf("Auth: %s", err.Error())
|
|
|
|
|
// yy.RespUnauth(c, "用户认证失败,请检查后再试!", err)
|
|
|
|
|
// return
|
|
|
|
|
// }
|
|
|
|
|
|
|
|
|
|
// c.Set("user", yy.User{
|
|
|
|
|
// UserID: resp.UserID,
|
|
|
|
|
// PlatformID: resp.PlatformID,
|
|
|
|
|
// OrgID: resp.OrgID,
|
|
|
|
|
// Logname: resp.LogName,
|
|
|
|
|
// Logpassword: "",
|
|
|
|
|
// UserName: resp.UserName,
|
|
|
|
|
// Avatar: resp.Avator,
|
|
|
|
|
// Sex: resp.Sex,
|
|
|
|
|
// RoleName: resp.RoleName,
|
|
|
|
|
// Born: resp.Born,
|
|
|
|
|
// Email: resp.Email,
|
|
|
|
|
// Mobile: resp.Mobile,
|
|
|
|
|
// RegionID: uint(resp.RegionID),
|
|
|
|
|
// Address: resp.Address,
|
|
|
|
|
// })
|
|
|
|
|
|
|
|
|
|
// c.Next()
|
|
|
|
|
}
|
|
|
|
|
}
|