mirror of
https://github.com/getAlby/lndhub.go.git
synced 2026-01-30 02:05:52 +01:00
Generate random alphanumeric strings for login and passowrd
This commit is contained in:
@@ -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
|
||||
}
|
||||
@@ -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
|
||||
//
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user