Spaces:
Configuration error
Configuration error
| // auth/auth.go | |
| package middleware | |
| import ( | |
| "api.qobiltu.id/controller" | |
| "api.qobiltu.id/models" | |
| "api.qobiltu.id/services" | |
| "github.com/gin-gonic/gin" | |
| ) | |
| func AuthUser(c *gin.Context) { | |
| var currAccData models.AccountData | |
| if c.Request.Header["Authorization"] != nil { | |
| token := c.Request.Header["Authorization"] | |
| currAccData.UserID, currAccData.VerifyStatus, currAccData.ErrVerif = services.VerifyToken(token[0]) | |
| if currAccData.VerifyStatus == "invalid-token" || currAccData.VerifyStatus == "expired" { | |
| currAccData.UserID = 0 | |
| controller.ResponseFAIL(c, 401, models.Exception{Unauthorized: true, Message: "Your session is expired, Please re-Login!"}) | |
| c.Abort() | |
| return | |
| } else { | |
| c.Set("accountData", currAccData) | |
| c.Next() | |
| } | |
| } else { | |
| currAccData.UserID = 0 | |
| currAccData.VerifyStatus = "no-token" | |
| currAccData.ErrVerif = nil | |
| controller.ResponseFAIL(c, 401, models.Exception{Unauthorized: true, Message: "You have to login first!"}) | |
| c.Abort() | |
| return | |
| } | |
| } | |
| func GetAccountData(c *gin.Context) models.AccountData { | |
| cParam, _ := c.Get("accountData") | |
| if cParam != nil { | |
| return cParam.(models.AccountData) | |
| } | |
| return models.AccountData{} | |
| } | |