Я новичок.Я пытаюсь настроить безопасный веб-сервер, используя go и jwt, но не могу заставить его скомпилировать:
mw := jwtmiddleware.New(jwtmiddleware.Options{
ValidationKeyGetter: func (token *jwt.Token) (interface{}, error) {
return mySigningKey, nil
},
SigningMethod: jwt.SigningMethodHS256,
})
, но я получаю только следующую ошибку (от компилятора и анализатора):
cannot use func literal (type func(*"webserver/vendor/github.com/dgrijalva/jwt-go".Token) (interface {}, error)) as type "github.com/dgrijalva/jwt-go".Keyfunc in field value
Я пытался сделать это отдельным именем с именем func, но это не помогло.Библиотека jwt показывает
type Keyfunc func(*Token) (interface{}, error)
, поэтому она должна соответствовать подписи.Код одинаков в нескольких онлайн-примерах, включая auth0.com
.
Я успешно запустил простые программы go, включая обслуживание простой веб-страницы, поэтому компилятор работает правильно.
Запускв Ubuntu 18.04 с новейшей стабильной версией go и пакетов (скачано и установлено несколько дней назад).Спасибо