liuxiaolong
2020-06-05 7c811247ecf143e08c576986a884bedadc57dd66
controllers/user.go
@@ -45,20 +45,22 @@
      tokenM["id"] = loginedM["id"]
      tokenM["username"] = loginedM["username"]
      tokenM["permissions"] = loginedM["permissions"]
      tokenStr := (*authDriver).Login(c.Request, c.Writer, tokenM)
      b,tokenStr,refreshTokenStr := (*authDriver).Login(c.Request, c.Writer, tokenM)
      if b {
         userId := loginedM["id"].(string)
         auth.RemoveOutUser(userId)
      userId := loginedM["id"].(string)
      auth.RemoveOutUser(userId)
      c.JSON(200,map[string]interface{}{
         "userInfo":loginedM,
         "access_token":tokenStr,
         "refresh_token":tokenStr,
         "scope":"app",
         "token_type":"Bearer",
         "expires_in":time.Now().Add(time.Hour * 8).Unix(),
      })
         c.JSON(200,map[string]interface{}{
            "userInfo":loginedM,
            "access_token": tokenStr,
            "refresh_token": refreshTokenStr,
            "scope":"app",
            "token_type":"Bearer",
            "expires_in":time.Now().Add(time.Hour * 8).Unix(),
         })
      } else {
         c.JSON(500,"用户名或密码错误")
      }
   } else {
      c.JSON(500,"用户名或密码错误")
   }
@@ -111,9 +113,31 @@
      c.JSON(http.StatusUnauthorized,"")
   }
}
// @Summary token过期后刷新token
// @Description token过期后刷新token
// @Accept x-www-form-urlencoded
// @Produce json
// @Tags 用户
// @Param refresh_token formData string true "上次获取token时返回的refresh_token值"
// @Success 200 {string} json "{"code":200, success:true, msg:"", data:""}"
// @Failure 500 {string} json "{"code":500, success:false, msg:"", data:""}"
// @Router /data/api-u/sys/refresh_token [post]
func (uc UserController) RefreshToken(c *gin.Context){
   refreshToken := c.PostForm("refresh_token")
   if refreshToken == "" {
      util.ResponseFormat(c,code.TokenNotFound,"未找到refresh_token")
      return
   }
   authDriver := auth.GenerateAuthDriver()
   if b,newToken,newRefreshToken := (*authDriver).RefreshToken(refreshToken);b {
      util.ResponseFormat(c,code.Success,map[string]string{
         "token": newToken,
         "refresh_token": newRefreshToken,
      })
   } else {
      util.ResponseFormat(c,code.NotLogin,"请重新登录")
   }
}
// @Router /data/api-u/sys/logout [get]