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")
|
||||
password, _ := c.GetPostForm("password")
|
||||
|
||||
if username != "jan" || password != "passwort" {
|
||||
user, err := h.UserService.UserByUsername(username)
|
||||
if err != nil {
|
||||
c.AbortWithStatus(http.StatusUnauthorized)
|
||||
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 {
|
||||
c.AbortWithStatus(http.StatusUnauthorized)
|
||||
}
|
||||
|
@ -21,6 +21,19 @@ func (s *UserService) User(id budgeteer.ID) (*budgeteer.User, error) {
|
||||
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
|
||||
func (s *UserService) CreateUser(user *budgeteer.User) error {
|
||||
user.ID = s.IDGenerator.New()
|
||||
|
Loading…
x
Reference in New Issue
Block a user