403 JWT Could not be verified - EBS PubSub

This is my C# code, I use a NuGet package called JWT, I found it easier to use than the built in

   private string GetAuthToken()
    {
        var payload = new Dictionary<string, object>
        {
            { "exp", GetEpoch() + 80 },
            { "opaque_user_id", $"all" },
            { "user_id", "all" },
            { "channel_id", "all" },
            { "role", "broadcaster"},
        };

        IJwtAlgorithm algorithm = new HMACSHA256Algorithm();
        IJsonSerializer serializer = new JsonNetSerializer();
        IBase64UrlEncoder urlEncoder = new JwtBase64UrlEncoder();
        IJwtEncoder encoder = new JwtEncoder(algorithm, serializer, urlEncoder);

        var token = encoder.Encode(payload, Convert.FromBase64String(_extension.Secret));
        return token;
    }
    private int GetEpoch()
    {
        TimeSpan t = DateTime.UtcNow - new DateTime(1970, 1, 1);
        int secondsSinceEpoch = (int)t.TotalSeconds;
        return secondsSinceEpoch;
    }