handlers.go 755 B

123456789101112131415161718192021222324252627282930313233
  1. package csrf
  2. import (
  3. "encoding/json"
  4. "net/http"
  5. )
  6. func (m *TokenManager) HandleNewToken(w http.ResponseWriter, r *http.Request) {
  7. userinfo, err := m.UserHandler.GetUserInfoFromRequest(w, r)
  8. if err != nil {
  9. http.Error(w, "Unauthorized", 401)
  10. return
  11. }
  12. newUUID := m.GenerateNewToken(userinfo.Username)
  13. js, _ := json.Marshal(newUUID)
  14. sendJSONResponse(w, string(js))
  15. }
  16. //validate the token validation from request
  17. func (m *TokenManager) HandleTokenValidation(w http.ResponseWriter, r *http.Request) bool {
  18. userinfo, err := m.UserHandler.GetUserInfoFromRequest(w, r)
  19. if err != nil {
  20. return false
  21. }
  22. token, _ := mv(r, "csrft", true)
  23. if token == "" {
  24. return false
  25. } else {
  26. return m.CheckTokenValidation(userinfo.Username, token)
  27. }
  28. }