Backend structure / login with JWT
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
package utils
|
||||
package hash
|
||||
|
||||
import "golang.org/x/crypto/bcrypt"
|
||||
|
||||
@@ -0,0 +1,30 @@
|
||||
package jwt
|
||||
|
||||
import (
|
||||
"backend/config"
|
||||
"backend/models/user"
|
||||
"time"
|
||||
|
||||
"github.com/golang-jwt/jwt"
|
||||
)
|
||||
|
||||
func GenerateJWT(u *user.User) (string, error) {
|
||||
// Generate JWT token
|
||||
mySigningKey := []byte(config.Env["JWT_SECRET"])
|
||||
token := jwt.New(jwt.SigningMethodHS256)
|
||||
|
||||
// Add claims (Values)
|
||||
claims := token.Claims.(jwt.MapClaims)
|
||||
claims["id"] = u.Id
|
||||
claims["name"] = u.Name
|
||||
claims["email"] = u.Email
|
||||
claims["exp"] = time.Now().Add(time.Hour * 24 * 7).Unix() // Expire in 7 days
|
||||
|
||||
// Generate signed token
|
||||
tokenString, err := token.SignedString(mySigningKey)
|
||||
if err != nil {
|
||||
return "", err
|
||||
}
|
||||
|
||||
return tokenString, nil
|
||||
}
|
||||
@@ -1,4 +1,4 @@
|
||||
package utils
|
||||
package responses
|
||||
|
||||
import (
|
||||
"github.com/gin-gonic/gin"
|
||||
Reference in New Issue
Block a user