func IssueJWTWithSecret(secret, email string, expires time.Time) (string, error) {
	key := []byte(secret)
	claims := &jwt.StandardClaims{
		ExpiresAt: expires.Unix(),
		Subject:   email,
		Issuer:    "Helios",
		IssuedAt:  time.Now().Unix(),
	}
	token := jwt.NewWithClaims(jwt.SigningMethodHS256, claims)
	return token.SignedString(key)
}
IssueJWTWithSecret issues and sign a JWT with a secret
package authentication
import (
	"fmt"
	"time"
	"github.com/dgrijalva/jwt-go"
)