|
@@ -3,6 +3,7 @@ package controller
|
|
|
import (
|
|
import (
|
|
|
"fmt"
|
|
"fmt"
|
|
|
"github.com/gin-gonic/gin"
|
|
"github.com/gin-gonic/gin"
|
|
|
|
|
+ "github.com/google/uuid"
|
|
|
"iot_manager_service/app/user/model"
|
|
"iot_manager_service/app/user/model"
|
|
|
"iot_manager_service/app/user/service"
|
|
"iot_manager_service/app/user/service"
|
|
|
"iot_manager_service/util/cache"
|
|
"iot_manager_service/util/cache"
|
|
@@ -10,6 +11,7 @@ import (
|
|
|
"iot_manager_service/util/token"
|
|
"iot_manager_service/util/token"
|
|
|
"iot_manager_service/util/websocket"
|
|
"iot_manager_service/util/websocket"
|
|
|
"net/http"
|
|
"net/http"
|
|
|
|
|
+ "strconv"
|
|
|
)
|
|
)
|
|
|
|
|
|
|
|
var UserController = new(user)
|
|
var UserController = new(user)
|
|
@@ -42,6 +44,22 @@ func (u *user) GetDeptUsers(c *gin.Context) {
|
|
|
c.JSON(http.StatusOK, users)
|
|
c.JSON(http.StatusOK, users)
|
|
|
}
|
|
}
|
|
|
|
|
|
|
|
|
|
+func (u *user) GetNewTokens(c *gin.Context) {
|
|
|
|
|
+ header := c.GetHeader("Authorization")
|
|
|
|
|
+ claims, _ := token.JwtClaims.ParseJwtToken(header)
|
|
|
|
|
+ nowUser, _ := cache.GetNowUser(claims.ID)
|
|
|
|
|
+
|
|
|
|
|
+ UUID := uuid.New().String()
|
|
|
|
|
+ accessToken, _ := token.JwtClaims.CreateJwtToken(strconv.Itoa(nowUser.User.ID), nowUser.User.UserName, UUID, 1)
|
|
|
|
|
+ refreshToken, _ := token.JwtClaims.CreateJwtToken(strconv.Itoa(nowUser.User.ID), nowUser.User.UserName, UUID, 24*7)
|
|
|
|
|
+ tokens := make(map[string]interface{})
|
|
|
|
|
+
|
|
|
|
|
+ tokens["accessToken"] = accessToken
|
|
|
|
|
+ tokens["refreshToken"] = refreshToken
|
|
|
|
|
+
|
|
|
|
|
+ c.JSON(http.StatusOK, gin.H{"token": tokens})
|
|
|
|
|
+}
|
|
|
|
|
+
|
|
|
func (u *user) Logout(c *gin.Context) {
|
|
func (u *user) Logout(c *gin.Context) {
|
|
|
header := c.GetHeader("Authorization")
|
|
header := c.GetHeader("Authorization")
|
|
|
claims, _ := token.JwtClaims.ParseJwtToken(header)
|
|
claims, _ := token.JwtClaims.ParseJwtToken(header)
|