Generate random alphanumeric strings for login and passowrd

This commit is contained in:
Viktor Patchev
2022-01-06 18:14:25 +01:00
parent 00ccf96f76
commit 98edef469e
3 changed files with 37 additions and 29 deletions

View File

@@ -3,7 +3,6 @@ package models
import (
"github.com/dgrijalva/jwt-go"
"github.com/labstack/echo/v4"
"net/http"
"time"
)
@@ -19,22 +18,20 @@ type User struct {
CreatedAt time.Time
}
// GenerateToken : Generate Token
func (u *User) GenerateAccessToken(c echo.Context, user *User) error {
if u.ID == user.ID {
token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
"id": u.ID,
})
// GenerateAccessToken : Generate Access Token
func (u *User) GenerateAccessToken(c echo.Context) error {
token := jwt.NewWithClaims(jwt.SigningMethodHS256, jwt.MapClaims{
"id": u.ID,
})
t, err := token.SignedString([]byte("secret"))
if err != nil {
return err
}
return c.JSON(http.StatusOK, map[string]string{
u.AccessToken: t,
})
t, err := token.SignedString([]byte("secret"))
if err != nil {
return err
}
return echo.ErrUnauthorized
u.AccessToken = t
return err
}
func (u *User) GenerateRefreshToken(c echo.Context) error {
return nil
}

View File

@@ -8,7 +8,7 @@ import (
"gorm.io/gorm"
)
// Register : Register Router
// Auth : Auth Router
func (AuthRouter) Auth(c echo.Context) error {
type RequestBody struct {
Login string `json:"login"`
@@ -50,10 +50,10 @@ func (AuthRouter) Auth(c echo.Context) error {
}
}
//err = user.GenerateAccessToken(c, &user)
//if err != nil {
// return err
//}
err := user.GenerateAccessToken(c)
if err != nil {
return err
}
//var cookie http.Cookie
//

View File

@@ -1,13 +1,18 @@
package create
import (
"github.com/labstack/gommon/random"
"gorm.io/gorm"
"math/rand"
"net/http"
"github.com/bumi/lndhub.go/database/models"
"github.com/labstack/echo/v4"
"github.com/sirupsen/logrus"
"gorm.io/gorm"
"net/http"
)
const letterBytes = random.Alphanumeric
func (CreateUserRouter) CreateUser(c echo.Context) error {
type RequestBody struct {
PartnerID string `json:"partnerid"`
@@ -21,16 +26,22 @@ func (CreateUserRouter) CreateUser(c echo.Context) error {
db, _ := c.Get("db").(*gorm.DB)
user := &models.User{}
//ToDo random login func
user.Login = "random"
//ToDo random password func
user.Password = "random"
user.Login = RandStringBytes(8)
user.Password = RandStringBytes(15)
result := db.Create(&user)
logrus.Printf("%v", result)
return c.JSON(http.StatusOK, echo.Map{
"user": user,
"user": user,
})
}
func RandStringBytes(n int) string {
b := make([]byte, n)
for i := range b {
b[i] = letterBytes[rand.Intn(len(letterBytes))]
}
return string(b)
}