Skip to content

Commit 96112e1

Browse files
committed
password update 🚀
1 parent 5967507 commit 96112e1

File tree

4 files changed

+26
-40
lines changed

4 files changed

+26
-40
lines changed

src/controllers/users/profile.controller.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -101,3 +101,6 @@ func UpdatePassword(c *fiber.Ctx) error {
101101
}
102102

103103
//update email
104+
func UpdateEmail() {
105+
106+
}

src/models/Token.go

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,18 @@ package models
22

33
import (
44
"github.com/dgrijalva/jwt-go"
5+
"gorm.io/gorm"
56
)
67

78
type Claims struct {
89
jwt.StandardClaims
9-
ID uint `gorm:"primaryKey"`
10+
ID uint `gorm:"primaryKey"`
11+
Sector string `json:"sector"`
12+
}
13+
14+
func (claims *Claims) BeforeCreate(tx *gorm.DB) error {
15+
// uuid.New() creates a new random UUID or panics.
16+
claims.Sector = "default"
17+
18+
return nil
1019
}

src/services/token.service.go

Lines changed: 12 additions & 38 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,18 @@ func GenerateAccessClaims(uuid string) (*models.Claims, string, int64) {
5151
// GenerateRefreshClaims returns refresh_token
5252
func GenerateRefreshClaims(cl *models.Claims) (string, int64) {
5353

54+
db := database.DB
55+
56+
if result := db.Where(&models.Claims{
57+
StandardClaims: jwt.StandardClaims{
58+
Issuer: cl.Issuer,
59+
},
60+
}).Find(&models.Claims{}); result.RowsAffected > 0 {
61+
db.Where(&models.Claims{
62+
StandardClaims: jwt.StandardClaims{Issuer: cl.Issuer},
63+
}).Delete(&models.Claims{})
64+
}
65+
5466
t := time.Now()
5567

5668
refreshTime := t.Add(30 * 24 * time.Hour).Unix()
@@ -77,44 +89,6 @@ func GenerateRefreshClaims(cl *models.Claims) (string, int64) {
7789
return refreshTokenString, refreshTime
7890
}
7991

80-
// SecureAuth returns a middleware which secures all the private routes
81-
func SecureAuth() func(*fiber.Ctx) error {
82-
return func(c *fiber.Ctx) error {
83-
accessToken := c.Cookies("access_token")
84-
claims := new(models.Claims)
85-
86-
token, err := jwt.ParseWithClaims(accessToken, claims,
87-
func(token *jwt.Token) (interface{}, error) {
88-
return jwtKey, nil
89-
})
90-
91-
if token.Valid {
92-
if claims.ExpiresAt < time.Now().Unix() {
93-
return c.Status(fiber.StatusUnauthorized).JSON(fiber.Map{
94-
"error": true,
95-
"general": "Token Expired",
96-
})
97-
}
98-
} else if ve, ok := err.(*jwt.ValidationError); ok {
99-
if ve.Errors&jwt.ValidationErrorMalformed != 0 {
100-
// this is not even a token, we should delete the cookies here
101-
c.ClearCookie("access_token", "refresh_token")
102-
return c.SendStatus(fiber.StatusForbidden)
103-
} else if ve.Errors&(jwt.ValidationErrorExpired|jwt.ValidationErrorNotValidYet) != 0 {
104-
// Token is either expired or not active yet
105-
return c.SendStatus(fiber.StatusUnauthorized)
106-
} else {
107-
// cannot handle this token
108-
c.ClearCookie("access_token", "refresh_token")
109-
return c.SendStatus(fiber.StatusForbidden)
110-
}
111-
}
112-
113-
c.Locals("id", claims.Issuer)
114-
return c.Next()
115-
}
116-
}
117-
11892
// GetAuthCookies sends two cookies of type access_token and refresh_token
11993
func GetAuthCookies(accessToken, refreshToken string) (*fiber.Cookie, *fiber.Cookie) {
12094
accessCookie := &fiber.Cookie{

tmp/build-errors.log

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
exit status 2exit status 1exit status 1exit status 1exit status 1exit status 1exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 1exit status 2exit status 1exit status 1exit status 2exit status 2exit status 2exit status 1exit status 1exit status 1exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 1exit status 1exit status 2exit status 2exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 2exit status 1exit status 1exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 1exit status 1exit status 1exit status 2exit status 2exit status 2exit status 2exit status 2exit status 1exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 1exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 2exit status 1exit status 1exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 1exit status 2exit status 1exit status 1exit status 2exit status 2exit status 2exit status 1exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2
1+
exit status 2exit status 1exit status 1exit status 1exit status 1exit status 1exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 1exit status 2exit status 1exit status 1exit status 2exit status 2exit status 2exit status 1exit status 1exit status 1exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 1exit status 1exit status 2exit status 2exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 2exit status 1exit status 1exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 1exit status 1exit status 1exit status 2exit status 2exit status 2exit status 2exit status 2exit status 1exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 1exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 1exit status 2exit status 1exit status 1exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 1exit status 2exit status 1exit status 1exit status 2exit status 2exit status 2exit status 1exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2exit status 2

0 commit comments

Comments
 (0)