Gogs Webhook Secret - PullRequest
       38

Gogs Webhook Secret

0 голосов
/ 07 апреля 2020

Я пытаюсь написать конечную точку webhook для использования с Gogs. Мне нужно иметь возможность проверить секретный ключ, но я не могу понять, как он рассчитывается Гогсом. У меня есть следующая реализация, которую я почти извлек из их исходного кода , но полученная подпись и моя расчетная подпись никогда не совпадают.

var body []byte
request.Body.Read(body)
sig := hmac.New(sha256.New, []byte("my_secret"))
sig.Write(body)
calculatedSignature := hex.EncodeToString(sig.Sum(nil))

fmt.Println("Calculated sig:", calculatedSignature)
fmt.Println("Received sig:  ", receivedSignature)

Дает:

Calculated sig: 3c980c81acef21e0356767cca9ab9d6a62a4e09677bb07107e4524c381b17309
Received sig:   5599460d54ae909c3228ccd08230526313074f8f2b967d201e3a113be53e6f07

Я не могу зарегистрироваться на форуме Gogs, чтобы спросить там. Любые предложения о том, как правильно рассчитать подпись, чтобы я мог сравнить и проверить секрет веб-крючка?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...