Advertisement
Guest User

Thing

a guest
Feb 9th, 2016
87
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.41 KB | None | 0 0
  1. func Login(res http.ResponseWriter, req *http.Request, _ httprouter.Params) {
  2. defer req.Body.Close()
  3.  
  4. var resp UserResponse
  5.  
  6. decoder := json.NewDecoder(req.Body)
  7. var t login
  8. err := decoder.Decode(&t)
  9. if err != nil {
  10. fmt.Println("error", err.Error())
  11. }
  12. log.Println(t)
  13.  
  14. //Create user from parseForm.
  15. email := t.Email
  16. password := t.Password
  17.  
  18. user, err := db.GetUser(email, password)
  19. if err != nil {
  20. fmt.Println("error at getting user for login", err.Error())
  21. }
  22.  
  23. //if the user is verified
  24. if user.Email != "" {
  25. if user.Verified {
  26. if user.Attempts <= 3 {
  27. resp.Type = "authorized"
  28. resp.Payload.Status = "Authorized"
  29. resp.Payload.Key = authenticate(res, req)
  30. resp.Payload.User = user
  31. } else {
  32. resp.Type = "unauthorized"
  33. resp.Payload.Status = "Unauthoruzed"
  34. resp.Payload.Message = "Too many attempts to login. Please wait 10 minutes for next attempt."
  35. resp.Payload.Key = ""
  36. resp.Payload.User = db.DBUser{}
  37. }
  38. } else {
  39. resp.Type = "unverified"
  40. resp.Payload.Status = "Unverified"
  41. resp.Payload.Message = "You are not verified yet."
  42. resp.Payload.Key = ""
  43. resp.Payload.User = db.DBUser{}
  44. }
  45. } else {
  46. resp.Type = "unauthorized"
  47. resp.Payload.Status = "unauthorized"
  48. resp.Payload.Message = "User or password does not exist"
  49. resp.Payload.Key = ""
  50. resp.Payload.User = db.DBUser{}
  51. }
  52. sendUserPayload(resp, res)
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement