Я пытаюсь сгенерировать токен JWT, но у меня возникают проблемы при преобразовании всего в байтовый массив.
func GenerateToken(uid, cid int64) string{
header := `{"alg": "HS256","typ": "JWT"}`
header = base64.URLEncoding.EncodeToString([]byte(header))
var b structs.JwtBody
b.UID = uid
b.CID = cid
body, _ := json.Marshal(b)
key := []byte(secret)
h := hmac.New(sha256.New, key)
h.Write([]byte(header + "." + body))
signature := base64.URLEncoding.EncodeToString(h.Sum(nil))
jwt := header + "." + body + "." + signature
return jwt
}
Я получаю сообщение об ошибке с этой строкой, потому что типы не совпадают.
h.Write([]byte(header + "." + body))
Как мне это исправить?