Exemple #1
0
func AuthenticateUser(db *gorm.DB) martini.Handler {
	return func(res http.ResponseWriter, req *http.Request, c martini.Context) {
		token := req.Header.Get(ApiTokenHeaderKey)
		var authUser models.AuthUser
		if token != "" {
			var err error
			authUser.User, err = models.GetUserByToken(db, token)

			if err == nil {
				authUser.SetAuthenticated(true)
			} else if err != gorm.RecordNotFound {
				utils.HttpError(res, http.StatusInternalServerError)
			}
		}
		c.Map(authUser)
	}
}