Я видел вопрос о пакете gorilla csrf, спрашивающий, почему Forbidden - CSRF token invalid
продолжает появляться, но в моем случае страница, на которой вы отправляете форму, отображается нормально, и скрытый ввод <input type="hidden" name="gorilla.csrf.Token" value="tjC/DMvwUVTNt4XPq1IDD8EgAQoYwr7oBRGOQqJ6CJX1+f0mNQdG9FpRmHVpCOvdZIbiYctn/6LD3UifF4xzHA==">
правильно вставлен в HTML-форму,но когда форма отправлена, она паникует с schema: invalid path "gorilla.csrf.Token"
. Отправка формы работает, когда она отправлена без реализации gorilla csrf.
Некоторые фрагменты кода, показанные ниже. (Обратите внимание, что я пытаюсь сделать это в моей среде разработки localhost, поэтому значение csrf.Secure is false.)
main.go :
import (
"net/http"
"path/to/controllers"
"github.com/gorilla/csrf"
"github.com/gorilla/mux"
)
func main() {
usersC := controllers.NewUsers()
r := mux.NewRouter()
r.HandleFunc("/login", usersC.NewLogin).Methods("GET")
r.HandleFunc("/login", usersC.Login).Methods("POST")
http.ListenAndServe(":3000",
csrf.Protect(
[]byte("32-byte-long-auth-key"),
csrf.Secure(false),
)(r))
}