Actually compare to users in database
This commit is contained in:
parent
7b235f83ad
commit
e955638510
10
http/http.go
10
http/http.go
@ -107,12 +107,18 @@ func (h *Handler) loginPost(c *gin.Context) {
|
|||||||
username, _ := c.GetPostForm("username")
|
username, _ := c.GetPostForm("username")
|
||||||
password, _ := c.GetPostForm("password")
|
password, _ := c.GetPostForm("password")
|
||||||
|
|
||||||
if username != "jan" || password != "passwort" {
|
user, err := h.UserService.UserByUsername(username)
|
||||||
|
if err != nil {
|
||||||
c.AbortWithStatus(http.StatusUnauthorized)
|
c.AbortWithStatus(http.StatusUnauthorized)
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
t, err := h.TokenVerifier.CreateToken(username, "Jan Bader")
|
if password != user.Password {
|
||||||
|
c.AbortWithStatus(http.StatusUnauthorized)
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
|
t, err := h.TokenVerifier.CreateToken(user.Email, user.Name)
|
||||||
if err != nil {
|
if err != nil {
|
||||||
c.AbortWithStatus(http.StatusUnauthorized)
|
c.AbortWithStatus(http.StatusUnauthorized)
|
||||||
}
|
}
|
||||||
|
@ -21,6 +21,19 @@ func (s *UserService) User(id budgeteer.ID) (*budgeteer.User, error) {
|
|||||||
return u, nil
|
return u, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// UserByUsername returns a user for a given username.
|
||||||
|
func (s *UserService) UserByUsername(username string) (*budgeteer.User, error) {
|
||||||
|
u := &budgeteer.User{Email: username}
|
||||||
|
err := s.DB.Model(&u).
|
||||||
|
Where("email = ?", username).
|
||||||
|
Limit(1).
|
||||||
|
Select()
|
||||||
|
if err != nil {
|
||||||
|
return nil, err
|
||||||
|
}
|
||||||
|
return u, nil
|
||||||
|
}
|
||||||
|
|
||||||
// CreateUser saves a user to the DB
|
// CreateUser saves a user to the DB
|
||||||
func (s *UserService) CreateUser(user *budgeteer.User) error {
|
func (s *UserService) CreateUser(user *budgeteer.User) error {
|
||||||
user.ID = s.IDGenerator.New()
|
user.ID = s.IDGenerator.New()
|
||||||
|
1
user.go
1
user.go
@ -11,6 +11,7 @@ type User struct {
|
|||||||
// UserService provides Methods for CRUD of Users
|
// UserService provides Methods for CRUD of Users
|
||||||
type UserService interface {
|
type UserService interface {
|
||||||
User(id ID) (*User, error)
|
User(id ID) (*User, error)
|
||||||
|
UserByUsername(username string) (*User, error)
|
||||||
//Users() ([]*User, error)
|
//Users() ([]*User, error)
|
||||||
CreateUser(u *User) error
|
CreateUser(u *User) error
|
||||||
//DeleteUser(id int) error
|
//DeleteUser(id int) error
|
||||||
|
Loading…
x
Reference in New Issue
Block a user