Илья
так это персонализация
Илья
выбирай что хочешь
Shohrukh
fenogentov
Tony
go mod init делал?
module myproject
go 1.17
require github.com/julienschmidt/httprouter v1.3.0
require github.com/mattn/go-sqlite3 v1.14.12
require github.com/dgrijalva/jwt-go v3.2.0+incompatible
require github.com/joho/godotenv v1.4.0 // indirect
Илья
Илья
а, вс код, тогда не знаю
Tony
ты через go run запускаешь?
нет, использую launch
"version": "0.2.0",
"configurations": [
{
"name": "Launch Package",
"type": "go",
"request": "launch",
"mode": "auto",
"program": "${workspaceFolder}/cmd/main"
}
]
Илья
Tony
fenogentov
go run ./...
Tony
Ладно, пусть хоть так работает
Tony
Не могу разобраться с парсером токена, почему-то возвращает ошибку
token, err := jwt.Parse(r.Header["Token"][0], func(token *jwt.Token) (interface{}, error) {
if _, ok := token.Method.(*jwt.SigningMethodHMAC); !ok {
return nil, fmt.Errorf("There was an error")
}
Tony
т.е. err !=nil
Tony
текст ошибки при этом: key is of invalid type
Anonymous
такая ошибка при создании токена
Anonymous
token.SignedString([]byte(jwtKey))
попробуй так
Tony
token.SignedString([]byte(jwtKey))
попробуй так
//Генерация токена
func GenerateToken(SecretString string) (token string, err error) {
//Секретная строка подписи токена
SignedString := []byte(SecretString)
//Инициализация перменной типа токен
tkn := jwt.New(jwt.SigningMethodHS256)
//Генерация строки токена
tokenString, err := tkn.SignedString(SignedString)
if err != nil {
log.Printf("Ошибка генерации токена: " + err.Error())
}
return tokenString, err
}
Tony
Вроде так и делаю
Tony
Только при парсинге не надо ли тоже использовать секретную строку?
Tony
И jwt.SigningMethodHS256 - это норм?
Tony
Кажется методы разные
Anonymous
у тебя сигнатуры разные
Anonymous
первый кейс HMAC
Anonymous
второй HS256
Anonymous
поэтому и ошибка
Anonymous
я имею ввиду, что при парсинге метод другой
Tony
а почему-то не удается выбрать один
Tony
tkn := jwt.New(jwt.SigningMethodHS256) - здесь нет SigningMethodHMAC
а при парсинге
token.Method.(*jwt.SigningMethodHMAC) - здесь нет SigningMethodHS256
видимо из-за того, что *jwt.SigningMethodHMAC - это ссылка?
Tony
Ответ где-то близко :)
Tony
token.Method.(*jwt.SigningMethodHMAC) - и какая-то странная конструкция :) точка перед скобкой
Anonymous
попробуй токен создавать через HMAC
Anonymous
будет ошибка или нет?
Grigory
Grigory
Tony
Tony
Grigory
Grigory
Точка в начале не так работает
Grigory
Она должна быть ./main.env
Tony
Grigory
Grigory
Konstantin
Всем привет! Подскажите плиз, есть сервисы где можно хранить env?
Grigory
Tony
Tony
Windows 11
Grigory
Оу
Victor
Илья
Konstantin
Konstantin
А нужны на разных машинах
Konstantin
Да и делиться иногда
Alexandr🇷🇺
dir)))
Просто ls, он все выведет
Alexandr🇷🇺
Konstantin
Не обязательно env, конфиги всякие
Konstantin
Tony
Tony
Artur
Третья часть разработки production платформы e-commerce на Golang.
Теперь все задачи для подписчиков оформлены в виде Issue на GitHub. Вся информация в ролике и в описании. Приятного просмотра!
https://youtu.be/JYvWu-7vKY8
Talon(招技术)
Urgent Hiring
A well-known gambling software company in Philippines, DDU is looking to bring on multiple Golang Engineer and Frontend Developer to join their development team – ideally, they’re looking for an Engineer to has solid Back End experience working with, or has the ability to learn, multiple languages.We have a Sports project to create,hope will see you soon.
Note: This is onsite work. We offer single dormitory rooms.
Telegram: @lgnokia741
Anton
@banofbot
Anonymous
https://play.golang.com/p/yjyMQVrVaZU
Grigory
дык потому что метод, который возвращает конкретный объект это не то же самое, что метод, который возвращает интерфейс
Valeriy
@reijo1337
Есть правило, при котором ты возвращаешь структуру, а в зависимости указываешь интерфейс
Максим
@banofbot
Alexander
может быть через 2 дня смогу ответитть, если не забуду
Valeriy
Суть в том, что ты в зависимостях указываешь интерфейс, а реализации могут быть разные, они могут меняться и тд. Почитай про SOLID, вот особенно что такое D.
Или тебе не нравится именно утиная типизация? Прости, я не знаю твой бэкграунд и сложно понять что именно ты имеешь ввиду.
Herman
Ага, я сегодня 10 минут такси вызывал
Herman
То едет, то не едет
Ron Mount
MRpl
Всем доброго времени суток.
Сам никогда не писал на Go, потому, если такое возможно и кому-то не лень, попрошу написать самый простой сервер, чтобы в случае, когда я заходил на него,например, на 80 порт, видел ip адрес, если он в докере, то хэш контейнера. Спасибо, не кидайтесь помидорами.
Maks
У тебя получится