паникует из-за схемы: неверный путь "gorilla.csrf.Token" при публикации формы с пакетом gorilla csrf - PullRequest
0 голосов
/ 26 октября 2019

Я видел вопрос о пакете 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))
}
...